我有两台机器m_remote
和m_server
。我可以使用:
m_remote
到m_server
的ssh隧道
ssh -f -N -T -R22222:localhost:22 m_remote_user_on_server@123.123.123.123 -i /path/to/.ssh/m_remote_key
其中123.123.123.123
是m_server
IP地址。我可以使用:{/ p>成功地使用m_server
到m_remote
的隧道
ssh m_server_user_on_remote@localhost -p 22222 -i /path/to/.ssh/m_server_key
然而,经过一段时间后,隧道变得反应迟钝,再也无法使用它。我必须直接访问远程计算机并重新启动隧道。有没有办法调试这个?从遥控器我得到的是:
$ ssh -vvvv m_server_user_on_remote@localhost -p 22222 -i /home/server_user/.ssh/m_server_key
OpenSSH_7.2p2 Ubuntu-4ubuntu2.1, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /home/server_user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "localhost" port 22222
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 22222.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /home/server_user/.ssh/m_server_key type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/server_user/.ssh/m_server_key-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1
然后经过长时间的停顿至少2分钟后,它会退出:
ssh_exchange_identification: Connection closed by remote host
虽然这是由于cron的工作,我已经设置了定期杀死并重新启动隧道。
** 修改 **
在OSX 10.11上,它有相同的调试日志,并附加一行:
...
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
debug1: permanently_drop_suid: 501 # <-- additional line before hanging
答案 0 :(得分:0)
我不确定,因为我需要对此进行诊断和关联,但由于m_remote机器处于片状家庭wifi连接,这可能会导致隧道挂起。
或者可能有一些配置选项,例如ControlPersist
(可能只与主连接相关),其默认值可能低于10分钟,可能会增加。