:)
Я работаю над Visual Studio - я подключился через RenciSSH к ssh на Linux-серверах в моей работе.
Теперь у меня есть проблема, чтобы получить вывод с серверов в многострочном режиме (ниже код):
Аутентификация на серверах:
KeyboardInteractiveAuthenticationMethod kauth = new KeyboardInteractiveAuthenticationMethod(txtLog.Text);
PasswordAuthenticationMethod pauth = new PasswordAuthenticationMethod(txtLog.Text, txtPass.Text);
kauth.AuthenticationPrompt += new EventHandler<AuthenticationPromptEventArgs>(HandleKeyEvent);
ConnectionInfo connectionInfo = new ConnectionInfo(txtHost.Text, txtLog.Text, pauth, kauth);
sshclient = new SshClient(connectionInfo);
sshclient.ConnectionInfo.Timeout = TimeSpan.FromSeconds(3);
sshclient.Connect();
txtOutput.Text = txtHost.Text + ":" + Environment.NewLine;
SshCommand sc = sshclient.CreateCommand(@"df -h /home | grep home && ls -l");
txtOutput.Text += sc.BeginExecute() + Environment.NewLine;
sshclient.Disconnect();
Выше есть код, где я не смог получить заполненный вывод.
А также :
Когда я установил только df -h / home | grep home:
SshCommand sc = sshclient.CreateCommand(@"df -h /home | grep home)
тогда у меня есть вывод в моем приложении, но когда я попытался поместить две или более команд, у меня пустой вывод, и я не знаю почему.
Есть проблема с подключением или есть проблема с командой в Linux?
И вторая проблема, когда я задаю, например:
SshCommand sc = sshclient.CreateCommand(@"df -h)
У меня есть вывод только в 1 строке, и это не читается. Есть ли у вас какие-либо советы, чтобы иметь вывод, который я вижу на сервере (строка за строкой)?
Заранее спасибо !!!!!