我已经开始开发一个简单的应用程序,通过SFTP将本地文件传输到远程 SSH 服务器。
我的应用程序应该以编程方式执行,因此我计划使用 Granados opensource SSH解决方案。在Granados测试应用程序中有一个简单的例子,如:
SSHConnectionParameter f = new SSHConnectionParameter();
f.UserName = "root";
f.Password = "";
f.Protocol = SSHProtocol.SSH2;
f.AuthenticationType = AuthenticationType.Password;
f.WindowSize = 0x1000;
Reader reader = new Reader();
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//s.Blocking = false;
s.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 22));
_conn = SSHConnection.Connect(f, reader, s);
reader._conn = _conn;
SSHChannel ch = _conn.OpenShell(reader);
reader._pf = ch;
SSHConnectionInfo ci = _conn.ConnectionInfo;
在Granados中,我找不到任何说明如何发送文件的示例。
我认为必须有一个简单的功能,例如_conn.TransmitFile(sourcePath, destinationPath);
,但我找不到任何例子。
有没有人知道如何使用C#和Granados库通过SSH在服务器之间发送文件?
答案 0 :(得分:0)
传输数据 reader._pf.Transmit(Encoding.ASCII.GetBytes(nextCommand),0,nextCommand.Length);