Always-On-SSH 隧道

Always-On-SSH 隧道

我们有一个外地办事处,使用 ISP 提供的拨号连接和非公共 IP。

拨入是由 GNOME-PPP 完成的。

当计算机处于连接状态时,我们如何保持与互联网上的服务器的 SSH 连接(带有隧道)打开?

答案1

autossh是一个可以自动重新连接 SSH 会话的工具(包含在 Ubuntu 存储库中)。它可以通过单独的方式检查数据是否仍在正确传输并重新连接隧道:

这是一个很好的操作方法:

http://pierre.linux.edu/2010/05/setting-up-a-permanent-ssh-tunnel-between-2-servers/

这可以与工具结合daemon,在后台运行。

完整解决方案:

aptitude install autossh daemon

/usr/local/bin/autossh

#!/bin/bash

AUTOSSH_POLL=600
AUTOSSH_PORT=20000
AUTOSSH_GATETIME=30
AUTOSSH_LOGFILE=autossh.log
AUTOSSH_DEBUG=yes
AUTOSSH_PATH=/usr/bin/ssh

HOST=example.com
USER=tunnel

autossh -M $AUTOSSH_PORT -N -L ... -R ... $USER@$HOST 

必须添加端口转发来代替“...”。实际上,后面的所有内容-M $AUTOSSH_PORT都是 SSH 参数。

并在开头/etc/rc.local添加

daemon -n autossh /usr/local/bin/tunnel 

相关内容