Автоматическая настройка SMTP сервера. Соединение с сервером по SSH.

AZANIR

Client
Регистрация
09.06.2014
Сообщения
405
Благодарностей
196
Баллы
43
Спасибо, вроде установил весту, косячная правда, но это уже другая история. Лайк!
веста не косячная , просто вы ее готовить не умеете. недавно клиенту ставил сервер с вестой на 256 памяти , а у него в день около 50к почт приходит и прочее , пришлось расширять сервер чисто изза нехватки ресурсов. так вот просто правильно все расщитывайте под что будете пользовать.
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
веста не косячная , просто вы ее готовить не умеете. недавно клиенту ставил сервер с вестой на 256 памяти , а у него в день около 50к почт приходит и прочее , пришлось расширять сервер чисто изза нехватки ресурсов. так вот просто правильно все расщитывайте под что будете пользовать.
Спасибо, а по делу можете что нибудь посоветовать?
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
веста не косячная , просто вы ее готовить не умеете. недавно клиенту ставил сервер с вестой на 256 памяти , а у него в день около 50к почт приходит и прочее , пришлось расширять сервер чисто изза нехватки ресурсов. так вот просто правильно все расщитывайте под что будете пользовать.
Можете попробовать поставить удаленно так же весту и настроить под нее экшен, вообще никак....уже раз 100 вариантов пробовал, ошибок уже нет в логе а она не ставится, просто сама веста даже...хост и пароль я сообщу
 

AZANIR

Client
Регистрация
09.06.2014
Сообщения
405
Благодарностей
196
Баллы
43
Можете попробовать поставить удаленно так же весту и настроить под нее экшен, вообще никак....уже раз 100 вариантов пробовал, ошибок уже нет в логе а она не ставится, просто сама веста даже...хост и пароль я сообщу
в пм доступы к системе , и какая у вас стоит операционка ? (убунту дебиан или цент ос , или еще что ). и желательно в панели вашего хостера переустановите саму систему чтоб эксперимент был чистым.
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
в пм доступы к системе , и какая у вас стоит операционка ? (убунту дебиан или цент ос , или еще что ). и желательно в панели вашего хостера переустановите саму систему чтоб эксперимент был чистым.
Стоит центос, оперативы 1 гб, через путти ставлю панель без проблем. За все время один или два раза удалось поставить панель данным способом. Но были проблемы с экзимом, хотел попробовать в первой команде
Код:
cmd = sshClient.CreateCommand("bash vst-install.sh");
вставить сразу значения пароля почты и домена, и все вообще поломалось и больше не работало) систему пробовал переустанавливать, операционки менял, перед пробой ставит в ручную через путти.
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Здравствуйте!

После долгих поисков, выяснилась очень непонятная закономерность при установке весты.

Выполняем команду
Код:
var cmd = sshClient.CreateCommand("curl -O http://vestacp.com/pub/vst-install.sh");
        cmd.Execute();
все идет хорошо, далее выполняем команду:
Код:
cmd = sshClient.CreateCommand("bash vst-install.sh");
        cmd.Execute();
ВОТ ТУТ начинается самое интересное. В статье рекомендуется использовать --force, но эффект аналогичный, все просто висит, как будто он ждет от меня каких либо дальнейших действий. Далее просто от руки на хостинге делаю ребут сервера , запускам код снова, но уже вторую команду я переделываю в точно рабочий вариант:
Код:
cmd = sshClient.CreateCommand("sudo bash vst-install.sh");
        cmd.Execute();
Все работает именно с этим вариантом!
Код:
cmd = sshClient.CreateCommand("sudo bash vst-install.sh");
        cmd.Execute();
именно с командой "sudo" , НО после удачной установки весты , сносим систему пробуем опять сделать установку с рабочей командой "sudo" , но вообще ничего не происходит, все просто висит и почему то кажется что даже нет толкового соединения с сервером, потому что делая перезагрузку не происходит обрыв. Затем делаю опять нерабочий вариант запроса, перезагружаю, опять делаю с командой "sudo" и все ставится! Что это за бардак получился и почему так может происходить? В чем может быть дело? В зенке? Руках и мозгах? Хосте?
 
  • Спасибо
Реакции: markzmanz

markzmanz

Client
Регистрация
22.05.2015
Сообщения
63
Благодарностей
4
Баллы
8
Здравствуйте!

После долгих поисков, выяснилась очень непонятная закономерность при установке весты.

Выполняем команду
Код:
var cmd = sshClient.CreateCommand("curl -O http://vestacp.com/pub/vst-install.sh");
        cmd.Execute();
все идет хорошо, далее выполняем команду:
Код:
cmd = sshClient.CreateCommand("bash vst-install.sh");
        cmd.Execute();
ВОТ ТУТ начинается самое интересное. В статье рекомендуется использовать --force, но эффект аналогичный, все просто висит, как будто он ждет от меня каких либо дальнейших действий. Далее просто от руки на хостинге делаю ребут сервера , запускам код снова, но уже вторую команду я переделываю в точно рабочий вариант:
Код:
cmd = sshClient.CreateCommand("sudo bash vst-install.sh");
        cmd.Execute();
Все работает именно с этим вариантом!
Код:
cmd = sshClient.CreateCommand("sudo bash vst-install.sh");
        cmd.Execute();
именно с командой "sudo" , НО после удачной установки весты , сносим систему пробуем опять сделать установку с рабочей командой "sudo" , но вообще ничего не происходит, все просто висит и почему то кажется что даже нет толкового соединения с сервером, потому что делая перезагрузку не происходит обрыв. Затем делаю опять нерабочий вариант запроса, перезагружаю, опять делаю с командой "sudo" и все ставится! Что это за бардак получился и почему так может происходить? В чем может быть дело? В зенке? Руках и мозгах? Хосте?
@serg32 не решил проблему?
Такая же беда, прям идентично. Первый раз приходится просто шаб запустить так, потом ребутнуть сервер, потом с sudo запускаю и только тогда всё ок.

Кстати у тебя какая версия зенно?
 
Последнее редактирование:

markzmanz

Client
Регистрация
22.05.2015
Сообщения
63
Благодарностей
4
Баллы
8
Никак не могу понять, почему шаблон не отрабатывает с первого раза. Первый раз всегда приходится запустить изначально в базовой версии при этом он просто зависает на этапе "Соединились с сервером", выключаю шаб, потом правлю его заменяя
Код:
cmd = sshClient.CreateCommand("bash vst-install.sh");
        cmd.Execute();
на
Код:
cmd = sshClient.CreateCommand("sudo bash vst-install.sh");
        cmd.Execute();
и всё проходит на ура до завершения установки. Если изначально запускать через sudo, то установка часами висеть будет, хотя первые этапы проходит.

И даже если в ручную через путти зайти на сервер и ввести:
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh
Дойдя до вопроса: Устанавливать весту?. Выключить соединение с сервером и после этого сразу запустить шаб исправленный на sudo, то шаб и в таком случае отрабатывает успешно, даже ребутов никаких ненужно делать.

В чем может крыться причина такой проблемы?
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 963
Благодарностей
796
Баллы
113
Блин, вы работаете с детерминированной машиной, а обсуждаете всё, как будто речь идёт о какой-то эзотерике.
Если установка работает без sudo, то она без него отрабатывает — и в ручном режиме, и в скрипте. В таком случае sudo не нужен совсем. Если без него не работает — то он нужен всегда, и в первый раз в том числе. Зачем каждый раз стартовать без sudo, наступать на те же грабли, ребутиться и нормально прогонять через sudo? Почему не запустить сразу с sudo?

Другая проблема — скрипт не ожидает какого-то вопроса от установки. Вот этот ответ читали?
http://zennolab.com/discussion/threads/avtomaticheskaja-nastrojka-smtp-servera-soedinenie-s-serverom-po-ssh.23197/page-2#post-180532
И в исходном посте вам сразу пишут, чтобы вы как параметр передавали все нужные данные, тогда установки ни о чём не спросит.

@markzmanz, ты вообще мог бы мне просто в скайпе написать, я бы тебе быстро помог.
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 085
Благодарностей
126
Баллы
63
Тоже в простом варианте хотел проверить соединение и вывод последней строки.
Выдает ошибку:
Ошибка в модуле "Компиляция кода действия
"Ожидался идентификатор; "out" является ключевым словом"
"Недопустимый терм "out"
Код:
SshClient sshClient = new SshClient("", 22, "", "");
        sshClient.Connect();
project.SendInfoToLog("Соединились с сервером", true);
            StreamReader reader = new StreamReader(shellStream);
            string out = reader.ReadToEnd();
                    sshClient.Disconnect();
                        return out;
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Никак не могу понять, почему шаблон не отрабатывает с первого раза. Первый раз всегда приходится запустить изначально в базовой версии при этом он просто зависает на этапе "Соединились с сервером", выключаю шаб, потом правлю его заменяя
Код:
cmd = sshClient.CreateCommand("bash vst-install.sh");
        cmd.Execute();
на
Код:
cmd = sshClient.CreateCommand("sudo bash vst-install.sh");
        cmd.Execute();
и всё проходит на ура до завершения установки. Если изначально запускать через sudo, то установка часами висеть будет, хотя первые этапы проходит.

И даже если в ручную через путти зайти на сервер и ввести:
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh
Дойдя до вопроса: Устанавливать весту?. Выключить соединение с сервером и после этого сразу запустить шаб исправленный на sudo, то шаб и в таком случае отрабатывает успешно, даже ребутов никаких ненужно делать.

В чем может крыться причина такой проблемы?
Я решил проблему путем созданием костыля. Запускал как при первом варианте ( что бы шаблон весел ) но при этом параллельно создавал условия для запуска второго мини проекта что бы он выполнял операцию по перезапуску сервера, тот проект который должен был висеть выдавал сразу же ошибку, и на ошибочное ответвление поставил выполнение с sudo вот и все)
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 085
Благодарностей
126
Баллы
63
Подождите, а мой вопрос? Что я не так элементарное соединение и вывод последней строки?
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 085
Благодарностей
126
Баллы
63
Прочел здесь:
http://zennolab.com/discussion/threads/avtomaticheskaja-nastrojka-smtp-servera-soedinenie-s-serverom-po-ssh.23197/

Задача упрощена, нужно только соединение, результат последней строки.

Убрал лишнее, что-то не ладится.
Код:
SshClient sshClient = new SshClient("", 22, "", "");
        sshClient.Connect();
project.SendInfoToLog("Соединились с сервером", true);
            StreamReader reader = new StreamReader(shellStream);
            string out = reader.ReadToEnd();
                    sshClient.Disconnect();
                        return out;
И не ладится, что-то с переменными, мне кажется, что-то простое.
Потому-что соединение работает, если убираю все после него.
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 085
Благодарностей
126
Баллы
63
Тоже в простом варианте хотел проверить соединение и вывод последней строки.
Выдает ошибку:
Ошибка в модуле "Компиляция кода действия
"Ожидался идентификатор; "out" является ключевым словом"
"Недопустимый терм "out"
Код:
SshClient sshClient = new SshClient("", 22, "", "");
        sshClient.Connect();
project.SendInfoToLog("Соединились с сервером", true);
            StreamReader reader = new StreamReader(shellStream);
            string out = reader.ReadToEnd();
                    sshClient.Disconnect();
                        return out;
Может все-таки кто помочь? Или подскажите как связаться с автором можно.
 

Ilant

Client
Регистрация
25.12.2015
Сообщения
6
Благодарностей
0
Баллы
1
Теперь осталась добавить ссылку в GAC и прописать using согласно скриншотам ниже:

Подскажите, как добавить ссылку в GAC?? Это запускается через power shell?
 

Russel20

Client
Регистрация
27.06.2014
Сообщения
15
Благодарностей
1
Баллы
3
парни подскажите, а как быть к примеру если мне нужно открыть файл и его редактировать?
через nano редактор
 

ramazk

Новичок
Регистрация
01.06.2016
Сообщения
12
Благодарностей
0
Баллы
1
парни подскажите, а как быть к примеру если мне нужно открыть файл и его редактировать?
через nano редактор
я вообще не админ, но первое решение которое мне видится когда нет других вариантов - сначала бы сохранил файл в список, исправил как надо в зенке, старый файл прибил, а новый отредактированный создал вместо него
 

ccpartner

Client
Регистрация
02.04.2015
Сообщения
9
Благодарностей
2
Баллы
3
Жесткий костыль. Чему тут все радуются вообще не пойму. А где зенка то используется? Библиотека сторонняя, вся реализация на шарпе)) хоть компиль в отдельный ехе, который будет в кучу раз меньше даже установщика зенки...
Если вам приходится постоянно работать с настройкой серверов, используя клиент Putty, и каждый день вводить одни и те же команды, то...
То вам пора обратиться к такому скриптовому языку как Bash или высокоуровневому языку программирования Python. Это явно будет в итоге полезней, удобней и конечно же проще. Я допустим нихрена не понял че он там делал и для кого статья... Однако всю установку весты я тебе тут в несколько строк на баше накидаю, файлик в несколько кб, который запустил и забыл...
 
Последнее редактирование:

Tnyrtin

Client
Регистрация
12.05.2015
Сообщения
73
Благодарностей
8
Баллы
8
Подскажите как реализовать установку ISPmanager вместо весты.
Я понял, что логика действий примерно такая же, но возникает проблема как добавить вот эту команду: wget "http://cdn.ispsystem.com/install.sh"
 

ikibostus

Client
Регистрация
27.09.2015
Сообщения
252
Благодарностей
26
Баллы
28
А если ВПС требует двойного ввода пароля, а затем сразу ввода нового пароля и его подтверждения, как тогда будет выглядеть код?
 

Zamiakulkas

Client
Регистрация
08.04.2015
Сообщения
34
Благодарностей
3
Баллы
8
Подскажите плз, какой командой инициировать нажатие Enter? После соединения и ввода команды, сервер запрашивает, например, порт, нужно ввести Enter. Как это сделать?
 

kxk

Client
Регистрация
20.05.2011
Сообщения
260
Благодарностей
27
Баллы
28

dedmoroz1987

Client
Регистрация
05.09.2015
Сообщения
59
Благодарностей
4
Баллы
8
Привет всем! Нужно сменить пароль по SSH - DigitalOcean, посредствами библиотеки Renci.SshNet. под UBUNTY

Командой cmd = sshClient.CreateCommand("414038asdF414038asdF");
cmd.Execute(); - не получается, пасс не меняется.
 

hideyoshi

Client
Регистрация
27.09.2018
Сообщения
35
Благодарностей
0
Баллы
6
Хорошая статья
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 177
Благодарностей
816
Баллы
113
Использую для установки своего скрипта, проект подвисает и не хочет заканчиваться, однако скрипт на сервере успешно устанавливается. Только не пойму почему проект не завершается.

P.S. код не добавляется на форум, выкидывает ошибку, выложил тут
https://pastebin.com/s7j3j0DF
 
Последнее редактирование:

k1nop

Client
Регистрация
13.05.2014
Сообщения
12
Благодарностей
10
Баллы
3
Теперь подтверждаем, что мы действительно хотим установить эту панель. Для этого вводим букву «y»

При этом сервер знает, что эта команда является именно ответом на этот запрос.

Code (text):
  1. shellStream.WriteLine("y");



  1. Подскажите, пожалуйста, а как сэмулировать нажатие клавиши пробел или "Enter"?
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
  • Спасибо
Реакции: k1nop

k1nop

Client
Регистрация
13.05.2014
Сообщения
12
Благодарностей
10
Баллы
3
Master Woo, благодарю!
 

VladimirM

Client
Регистрация
20.09.2018
Сообщения
7
Благодарностей
3
Баллы
3
Привет ребята!
Как можно подключиться к серверу используя ключ-файл?
 

HWMD

Client
Регистрация
16.08.2019
Сообщения
81
Благодарностей
9
Баллы
8
Привет ребята!
Как можно подключиться к серверу используя ключ-файл?
46450


А вообще, работать с ssh через zennoposter - извращение.
Для автоматизации в linux существует множество других решений: bash, ansible, perl, python и тд.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)