.NET SSH端口转发

Ron*_*rby 9 .net c# ssh networking portforwarding

我正在尝试将SSH端口转发到我正在编写的.net应用程序中.

我尝试过使用sharpSSH,但它要求用户每次都输入密码,我不希望这样.我将处理存储密码.

我已经下载了Granados,但基本上没有文档.当我筛选Granados源代码时,是否有人知道如何使用Granados或任何其他.NET 免费 SSH库完成端口转发?

SRo*_*Roe 14

SSH.NET LIbrary是一种实现此目的的简单方法:

using (var client = new SshClient("client.net", "user", "password"))
{
    client.Connect();

    var port = new ForwardedPortLocal("localhost", 10000, "remote.net", 80);
    client.AddForwardedPort(port);

    port.Exception += delegate(object sender, ExceptionEventArgs e)
    {
        Console.WriteLine(e.Exception.ToString());
    };
    port.Start();

    // ... hold the port open ... //

    port.Stop();
    client.Disconnect();
}
Run Code Online (Sandbox Code Playgroud)


alc*_*379 5

您可以远程在SSH服务器上设置DSA密钥吗?这样,您可以为用户保存密钥(将其作为一次性操作),然后将密钥作为授权用户保存在服务器上.