我使用ssh -L -g
,但间歇性地丢失连接,因此:
$ ssh -L 8080:localhost:8080 example.com -g
Last login: Tue Apr 24 07:19:04 2012 from 203.0.113.123
Read from remote host example.com: Connection timed out
Connection to example.com closed.
有人能建议一种强大的方法来保持这些连接处于活动状态,并在它们关闭时重新连接。
答案1
你可以尝试莫什。
答案2
autossh is a program to start a copy of ssh and monitor it,
restarting it as necessary should it die or stop passing traffic.
替换问题中给出的论点:
autossh -M 0 -L 8080:localhost:8080 example.com -g
(-M 0
需要转动monitoring loop off
)
我能够kill -9
从连接example.com
并看到连接通过以下方式自动重新建立autossh
:
local$ autossh -M 0 -L 8080:localhost:8080 example.com -g
Last login: Wed Apr 25 03:23:56 2012 from 203.0.113.123
example.com$
kill -9
在 上的连接的 PID 上执行example.com
。
local$ Connection to example.com closed.
Last login: Wed Apr 25 03:34:01 2012 from 203.0.113.123
local$