通过autossh和证书实现SSH断线自动重连

来源:http://redsan.info/2011/06/%E9%80%9A%E8%BF%87autossh%E5%92%8C%E8%AF%81%E4%B9%A6%E5%AE%9E%E7%8E%B0ssh%E6%96%AD%E7%BA%BF%E8%87%AA%E5%8A%A8%E9%87%8D%E8%BF%9E/

以前一直使用GSTM管理翻墙的SSH连接,因为比较简单好用,可是当升到GNOME3之后,GSTM一直没有更新,于是选择使用了autossh。

autossh其实就是在ssh的基础上增加了自动重连的功能,它基本适用各种ssh的参数(除了-f被autossh用作后台运行,并不会传送给 ssh)。但是当autossh 使用-f参数在后台运行时,有个缺点是无法输入密码,而且并没有像plink一样提供-pw参数,所以ssh在-f参数下无法连接至服务器。

这就需要让ssh通过证书免密码登录了。

在本地终端执行ssh-keygen指令,生成rsa密钥和公钥。

1
[red@blade ~]$ ssh-keygen

将生成的rsa公钥上传给服务器

1
[red@blade ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

通过ssh登录服务器,在服务器上修改/etc/ssh/sshd_config文件,取消以下2行的注释

1
2
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

最后在服务器上重启ssh服务

1
[red@bass ~]$ sudo service ssh restart

之后就可以通过autossh自动后台登录ssh并实现自动重连了

1
[red@blade ~]$ autossh  -f  -ND 7070 user@server

可以将命令保存成脚本,那样就更加方便了。

以上在本人机器上亲自测试通过

本地 Arch Linux @ Dell 1420

服务器 Debian Squeeze @ Linode VPS

—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog直接下载。

推特用户请点击这里免翻墙上推特

请点击这里下载翻墙软件

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG(免翻墙)

请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙)http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。


发表评论