我知道使用SSH.NET库的SftpClient
类可以上传和下载文件到/从SFTP服务器,但我不确定如何使用这个类来复制或移动SFTP服务器上的远程文件。我在互联网上也没有找到相关资料。如何使用SSH.NET库和C#将远程文件从目录A复制或移动到目录B?
更新:
我还尝试使用下面的代码实验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详细:1:向服务器发送消息“ChannelRequestMessage”:'SSH_MSG_CHANNEL_REQUEST:#152199'。
SshNet.Logging详细:1:从服务器接收消息:“ChannelFailureMessage”:'SSH_MSG_CHANNEL_FAILURE:#0'。*