来源: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

本文由自动聚合程序取自网络,内容和观点不代表数字时代立场

定期获得翻墙信息?请电邮订阅数字时代