使用 autossh 自动重启 SSH 会话和通道 已翻译 100%

oschina 投递于 2013/05/29 07:46 (共 2 段, 翻译完成于 05-29)
阅读 13108
收藏 68
8
加载中
autossh 是一个用来启动 ssh 并进行监控的程序,可在需要时重启 ssh,例如程序挂掉或者是网络出现问题。其灵感和机制来自于 rstunnel  (Reliable SSH Tunnel). autossh 1.2 的方法已经改变:autossh 使用 ssh 来构造一个 ssh 重定向循环(本地到远程和远程到本地),然后发送测试数据并获得返回结果。

autossh 1.3 增加了一个新的方法:可指定远程 echo 服务的端口用于返回测试数据发送结果。这个避免握手阶段以及所有远程机器端口的冲突问题。而老的 loop-of-forwardings 方法依然可用。
红薯
红薯
翻译于 2013/05/29 07:53
4

在 Ubuntu 上安装 autossh

打开终端窗口并运行以下命令

sudo apt-get install autossh

Autossh 语法

autossh [-V] [-M port[:echo_port]] [-f] [SSH_OPTIONS]

在启动时启动 ssh 通道

我们可以使用 upstart 来在 Ubuntu 下启动 ssh 通道,只需要将如下 autossh.conf 文件放在 /etc/init 目录即可。

# autossh startup Script

description "autossh daemon startup"

start on net-device-up IFACE=eth0
stop on runlevel [01S6]

respawn
respawn limit 5 60 # respawn max 5 times in 60 seconds

script
export AUTOSSH_PIDFILE=/var/run/autossh.pid
export AUTOSSH_POLL=60
export AUTOSSH_FIRST_POLL=30
export AUTOSSH_GATETIME=0
export AUTOSSH_DEBUG=1
autossh -M 0 -4 -N USER@HOSTNAME -D 7070 -o "ServerAliveInterval 60″ -o "ServerAliveCountMax 3″ -o BatchMode=yes -o StrictHostKeyChecking=no -i SSH_KEY_FILE_PATH
end script

红薯
红薯
翻译于 2013/05/29 07:48
4
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(7)

烂泥行天下
烂泥行天下
-M 这个参数目前还不清楚真的意义
litescript
litescript

引用来自“fmxzhou”的评论

无法解决登录到远程服务器后,网络断掉后再恢复的情况呢!! 此时terminal 还是卡死,并且不能输入任何东西!

+1
方凯
方凯
感觉不错吖
任俊新
狂顶
fmxzhou
fmxzhou
无法解决登录到远程服务器后,网络断掉后再恢复的情况呢!! 此时terminal 还是卡死,并且不能输入任何东西!
vincent1988
vincent1988
顶一个
闲尘
闲尘
人工置顶 啊 别黑我
返回顶部
顶部