我们在通过ssh建立telnet连接时遇到问题。首先,我使用rencissh库在linux框中建立ssh。
linux_box_ip/host/password : 192.168.4.127/admin/password12
然后,我尝试通过调用tcp类来进行telnet连接,
tcpSocket = new TcpClient(host,port);
host/port: 192.168.4.127/18080
但设备拒绝连接。 在读取了一些stackflow后,我知道我们需要按照你执行Ssh的顺序,然后执行端口转发,然后执行telnet。 所以我尝试了下面的代码。
connectionInfo connNfo = new connectionInfo("192.168.4.127",22,"admin",
new AuthenticationMethod[]{
new PasswordAuthenticationMethod("Admin","password12")
});
using(var sshclient = new SshClient(connNfo )){
sshclient .Connect();
var port = new ForwardedPortLocal("localhost",22,"192.168.4.128",18080 );
sshClient.AddForwardedPort(port);
port.Exception += delegate(object sender, ExceptionEventArgs e)
{
Console.WriteLine(e.Exception.ToString());
};
port.Start();
所以,一旦完成,我在主机/端口上执行tel net:192.168.4.127/18080
tcpSocket = new TcpClient(host,port);
host/port: 192.168.4.127/18080
再次看起来似乎失败了这个消息:
无法建立连接,目标机器拒绝了
如何在设备盒上执行无缝ssh然后telnet?我做错了什么?