Tôi đang cố gắng sử dụng SSH.NET để tạo ra một đường hầm từ localhost:3306
tới cổng 3306 trên một máy từ xa:Tạo một cổng chuyển tiếp trong một đường hầm SSH
PrivateKeyFile file = new PrivateKeyFile(@" .. path to private key .. ");
using (var client = new SshClient(" .. remote server .. ", "ubuntu", file))
{
client.Connect();
var port = new ForwardedPortLocal(3306, "localhost", 3306);
client.AddForwardedPort(port);
port.Start();
// breakpoint set within the code here
client.Disconnect();
}
Khi breakpoint là hit, client.IsConnected
đang trở lại true
, nhưng telnet localhost 3306
không kết nối. Nếu tôi tạo kết nối bằng Putty thay vào đó, và thiết lập cùng một đường hầm ở đó, nó sẽ thành công. Tôi đã bỏ lỡ điều gì?
Bạn có nhận được cảnh báo cụ thể cho ứng dụng telnet không? Nó có đóng không? Dữ liệu kết nối nhị phân có thể không được hiển thị ... –
Nó bị treo, không kết nối được. Khi sử dụng Putty tôi nhận được một chuỗi dữ liệu. –
Thử [liên kết này] (http://sshnet.codeplex.com/discussions/348423): Tôi nghĩ rằng ngắt kết nối máy khách là vấn đề. Và nếu bạn ngắt giữa 'Bắt đầu' và 'Ngắt kết nối', bạn cũng có thể tạm dừng chuyển tiếp. –