如何使用granados通过SSH传输文件

时间:2013-01-07 06:42:34

标签: c# ssh sftp

我已经开始开发一个简单的应用程序,通过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在服务器之间发送文件?

1 个答案:

答案 0 :(得分:0)

传输数据 reader._pf.Transmit(Encoding.ASCII.GetBytes(nextCommand),0,nextCommand.Length);