【发布时间】:2015-02-09 19:59:47
【问题描述】:
我正在尝试使用 SSH.NET 在 C# 程序中执行以下操作:
ssh -NfD 1080 用户名@remote.com
这是我生成的代码:
using (var client = new SshClient("remote.com", "username", "password"))
{
client.Connect();
var port = new ForwardedPortLocal("localhost", 1080, "remote.com", 1080);
client.AddForwardedPort(port);
port.Exception += delegate(object sender, ExceptionEventArgs e)
{
Console.WriteLine(e.Exception.ToString());
};
port.Start();
}
Console.ReadKey();
我通过此隧道连接到 OpenVPN 服务器。当我使用命令行时它工作正常,但是当我使用 C# 程序时,它就像隧道不起作用,即使我可以通过 C# 程序向我连接的服务器发送命令。 有什么想法吗?
【问题讨论】:
-
你有什么错误吗?
-
没有一个。我的程序在 1080 上监听,但我无法使用隧道。
-
所以
Console.WriteLine(e.Exception.ToString());永远不会触发? -
没有。当我向服务器发送命令时,它可以工作(例如 pwd 将我发送回 /home/username)
-
你能给我提供一个不起作用的例子吗?