SSH Listener没有关闭

时间:2017-01-03 04:01:49

标签: networking go ssh

我试图编写一个go应​​用程序,允许我使用go ssh库在Windows机器和Linux机器之间执行反向ssh隧道。

在这样做的过程中,我在远程机器上创建一个监听器,如下所示: remoteListener, err := sshClient.Listen("tcp", remoteString)

其中sshClient是ssh.Client类型的对象,并配置为连接到远程计算机。

这里的问题是,当Linux机器上的sshd进程中断与应用程序的连接时,ssh Listener在远程计算机上保持活动状态。因此,重新连接应用程序失败,因为侦听器已在远程计算机上的同一端口上运行。

如何解决此问题? ssh库是否允许我在侦听器上定义超时?

1 个答案:

答案 0 :(得分:0)

我只是在重新连接后等待超时。我找不到其他简单的解决办法。