ssh keygen、ssh-copy-id 和 autossh
ssh登录远程服务器时需要输入密码。如果想省去这个步骤,可以使用秘钥登录,不用每次输入密码。
先在本地使用keygen生成秘钥:
$ ssh-keygen
然后将秘钥发送到我们需要用ssh登录的远程服务器:
$ ssh-copy-id demo@198.51.100.0
这个过程需要输入远程服务器的ssh登录密码来验证身份。
然后你在使用ssh登录这台服务器,就不会提示你输入密码啦。
我们可以使用命令行来开启ssh tunnel代理服务,命令很简单:
ssh -D 9999 -f -C -N root@198.51.100.0 -p 22
其中:-D 设置本地端口号,-f 是转到后台, -C 是压缩传输, -N 是说明这次执行不是执行命令的,只是用来端口转发。-p 是远程服务器的ssh服务端口号。
如果网络不好,特别是国外服务器,经常会中断连接,我们可以使用autossh这个命令来让中断的ssh连接自动重连:
autossh -D 9999 -f -N -C root@198.51.100.0 -p 22
它的用法和ssh基本相同,只是多了2个用来监控的参数。
阅读余下内容