да пытался, но чето там так нагорожено, не получилось с синтаксисомБыли материалы по поднятию проксей, можно от туда выдернуть ту часть что по SSH шлет команды.
project.Variables["ip"].Value = "93.235.172.23";
project.Variables["user_SSH"].Value = "root";
project.Variables["password_SSH"].Value = @"3blajkd_dCK";
string ip = project.Variables["ip"].Value;
string user = project.Variables["user_SSH"].Value;
string pass = project.Variables["password_SSH"].Value;
SshClient sshClient = new SshClient(ip, 22, user, pass);
sshClient.Connect();
IDictionary<Renci.SshNet.Common.TerminalModes, uint> termkvp = new Dictionary<Renci.SshNet.Common.TerminalModes, uint>();
termkvp.Add(Renci.SshNet.Common.TerminalModes.ECHO, 53);
ShellStream shellStream = sshClient.CreateShellStream("xterm", 80,24, 800, 600, 1024, termkvp);
System.Threading.Thread.Sleep(1000 * 1);
shellStream.WriteLine("reboot");
System.Threading.Thread.Sleep(1000 * 1);
StreamReader reader = new StreamReader(shellStream);
string out1 = reader.ReadToEnd();
sshClient.Disconnect();
return out1;
Где может пригодиться?Нужен сниппет чтоб сервак перезагружать
вот такое выдаетВот код, но в шабе там еще доп. библиотеки прописаны, айпи и пароли на свои поменять надо:
Тип Время Сообщение
15:41:28 Выполнение действия CSharp OwnCode. [Строка: 24; Cтолбец: 0] Не удалось загрузить файл или сборку "Renci.SshNet, Version=2014.4.6.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106" либо одну из их зависимостей. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
это перезагружает сервер, пригодится может для перезагрузки сервакаГде может пригодиться?
пользователь должен быть - rootМожет пользователь от которого происходит авторизация нужно добавить какие-то права?
Я в убунта дуб дубом)) Ну в принципе, пользователь у меня всего один, думаю он rootпользователь должен быть - root
Тут наверное должно быть так:shellStream.WriteLine("reboot");
shellStream.WriteLine("-sudo reboot");
string ip = project.Variables["ip"].Value;
string user = project.Variables["user_SSH"].Value;
string pass = project.Variables["password_SSH"].Value;
SshClient sshClient = new SshClient(ip, 22, user, pass);
sshClient.Connect();
IDictionary<Renci.SshNet.Common.TerminalModes, uint> termkvp = new Dictionary<Renci.SshNet.Common.TerminalModes, uint>();
termkvp.Add(Renci.SshNet.Common.TerminalModes.ECHO, 53);
ShellStream shellStream = sshClient.CreateShellStream("xterm", 80,24, 800, 600, 1024, termkvp);
System.Threading.Thread.Sleep(1000 * 1);
shellStream.WriteLine("sudo reboot");
System.Threading.Thread.Sleep(1000 * 1);
shellStream.WriteLine(pass);//Добавил строку подтверждения пароля
System.Threading.Thread.Sleep(1000 * 1);
StreamReader reader = new StreamReader(shellStream);
string out1 = reader.ReadToEnd();
sshClient.Disconnect();
return out1;
Ну да.Скорее всего у меня у пользователя нет root прав изначально. Поэтому нужно подтверждать подобные команды паролем