C# SSH.NET CreateCommand/RunCommand 不起作用
C# SSH.NET CreateCommand/RunCommand does not work
我想创建一个应用程序来将 SSH 命令发送到 HP 交换机和其他一些设备。但是从 HP Switch 我得到响应 “不支持执行 SSH 命令。”.
我用的是这部分代码。
SshClient sshclient = new SshClient(IP,username, pass);
sshclient.Connect();
SshCommand sc = sshclient.CreateCommand("conf");
sc.Execute();
string answer = sc.Result;
label9.Text = answer;
关于如何制作交互式 shell 仿真有什么想法吗?
我只找到了关于这个问题的线程。
phpseclib - attempting to connect to an HP procurve switch returns error: SSH command execution is not supported
您的代码大体上是正确的。但似乎特定设备不支持 SSH“exec”通道,SshCommand
class.
后面是什么
正如 answer to the question you have linked yourself 所建议的,不幸的是,您必须使用 SSH“shell”通道模拟 shell。
为此使用 SshClient.CreateShell
并将命令写入其输入流。
请注意,这只是针对您的特定情况的解决方法。一般情况下,“shell”频道不得用于自动化。
我想创建一个应用程序来将 SSH 命令发送到 HP 交换机和其他一些设备。但是从 HP Switch 我得到响应 “不支持执行 SSH 命令。”.
我用的是这部分代码。
SshClient sshclient = new SshClient(IP,username, pass);
sshclient.Connect();
SshCommand sc = sshclient.CreateCommand("conf");
sc.Execute();
string answer = sc.Result;
label9.Text = answer;
关于如何制作交互式 shell 仿真有什么想法吗? 我只找到了关于这个问题的线程。 phpseclib - attempting to connect to an HP procurve switch returns error: SSH command execution is not supported
您的代码大体上是正确的。但似乎特定设备不支持 SSH“exec”通道,SshCommand
class.
正如 answer to the question you have linked yourself 所建议的,不幸的是,您必须使用 SSH“shell”通道模拟 shell。
为此使用 SshClient.CreateShell
并将命令写入其输入流。
请注意,这只是针对您的特定情况的解决方法。一般情况下,“shell”频道不得用于自动化。