【发布时间】:2016-03-17 08:29:56
【问题描述】:
我在 SSH.NET 中使用 C#。
我想发出 PWD 命令,但找不到任何文档或帮助。我不知道如何使用“SshClient”类。
更新: 我也尝试使用下面的代码尝试使用 SshClient 类,但它什么也没做,既没有任何错误也没有任何异常。
ConnectionInfo ConnNfo = new ConnectionInfo("FTPHost", 22, "FTPUser",
new AuthenticationMethod[]{
// Pasword based Authentication
new PasswordAuthenticationMethod("FTPUser","FTPPass")
}
);
using (var ssh = new SshClient(ConnNfo))
{
ssh.Connect();
if (ssh.IsConnected)
{
string comm = "pwd";
using (var cmd = ssh.CreateCommand(comm))
{
var returned = cmd.Execute();
var output = cmd.Result;
var err = cmd.Error;
var stat = cmd.ExitStatus;
}
}
ssh.Disconnect();
}
什么都没有发生。既不是错误也不是异常。在 Visual Studio 控制台上,我得到以下输出。
*SshNet.Logging Verbose: 1 : SendMessage to server 'ChannelRequestMessage': 'SSH_MSG_CHANNEL_REQUEST : #152199'。
SshNet.Logging 详细:1:来自服务器的 ReceiveMessage: 'ChannelFailureMessage': 'SSH_MSG_CHANNEL_FAILURE : #0'.*
在调用 ssh.RunCommand 方法时,程序进入某种睡眠状态(或等待大约 1 分钟)。 sshCommand.Result 和 sshCommand.Error 变量为空。
【问题讨论】:
-
您的问题不清楚。您对 PWD 命令有疑问吗?
-
请提供您尝试过的操作、您期望会发生的情况以及所发生情况的信息。
-
MHakvoort 和 joepd,我更新了我的问题