ubuntu下实现ssh自动重连

http://blog.alwayst.info/ubuntu-achieve-ssh-automatic-re-connection

ubuntu下使用ssh的方法很多:

  1. openssh。一般linux系统都默认安装,直接在终端(terminal)下使用即可,可以参阅我以前写的一些东西,这里
  2. PuTTY。图形化界面,无须命令行,更便于新手使用。

但两者都有一个明显的缺点:无法实现ssh断线后的自动重连。openssh是终端命令行模式,断了只能重打命令;PutTTY则自己明确说明了一点:为了安全问题不保存密码,每次都要用户自己输入。初衷是很好,但从实际应用的角度,ssh掉线的频率比较高,每次都要重输是很累的。所以更好的解决办法是:expect

首先要获取该程序,终端(terminal)下输入:

sudo apt-get install expect

完成后随便新建一个文本,这里暂定名称是:sshgfw。可以直接在终端(terminal)下输入:

sudo gedit sshgfw

在文本中粘粘如下内容:

#!/usr/bin/expect
set timeout 60

spawn /usr/bin/ssh -D 7070 -p port -l user yourserver.com
# 这里的port为你远端主机的端口名,一般为22,有变动的话一般空间商会告知你,user为你自己的用户名,yourserver.com为你自己的服务器域名或ip
expect {
"password:" {
send "password/r"
#这里的第二个password改为你自己的密码
}
}
interact {
timeout 60 { send " "}
}

再加上可执行权限,我们仍然在终端(terminal)下执行:

chmod a+x sshgfw

如果你严格的按照我所说的做下来,那么现在在直接终端(terminal)下输入:

./sshgfw


脚本就应该自动运行起来了。现在这个脚本应该是在你的帐户下,多帐户操作的话也可以把这个文件复制到 /usr/local/bin 或 /usr/bin 等目录下,以方便本机所有用户都可以快捷的使用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值