Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Не отрабатывает команда протокола SSH


Автор: Felagund 9.6.2016, 16:37
Всем здравствуйте!
Срочно нужно решить проблему:
Пытаюсь наладить ssh подключение к удалённому хосту. Использую библиотеку Renci.SshNet. Подключение к хосту проходит, некоторые команды даже работают. Используя следующий код при выполнении команды ssh host программа зависает:
Код

PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(hostname, port, username, password);
connectionInfo.Timeout = TimeSpan.FromSeconds(30);
using (var client = new SshClient(connectionInfo))
{
    try
    {
        client.Connect();
        if (client.IsConnected)
        {
             var cmd = client.CreateCommand("ssh node44");
             string response = cmd.Execute();
        }
    }
}

а с этим кодом зависания не происходит, но и к узлу не конектится:
Код

PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(hostname, port, username, password);
connectionInfo.Timeout = TimeSpan.FromSeconds(30);
using (var client = new SshClient(connectionInfo))
{
    try
    {
        client.Connect();
        if (client.IsConnected)
        {
            IDictionary<Renci.SshNet.Common.TerminalModes, uint> termkvp = new Dictionary<Renci.SshNet.Common.TerminalModes,   uint>();
            termkvp.Add(Renci.SshNet.Common.TerminalModes.ECHO, 53);
            ShellStream shellStream = client.CreateShellStream("xterm", 80, 24, 800, 600, 1024, termkvp);
            shellStream.WriteLine("ssh node44");
        }
    }
}

Помогите пожалуйста!

Автор: _zorn_ 12.6.2016, 11:17
Могу посоветовать только читать доки библиотеки или пересмотреть вопрос с выбором технологий. Возможно даже просто тупо другая библиотека вам лучше подойдет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)