以前一直使用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
本文由自动聚合程序取自网络,内容和观点不代表数字时代立场