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 个用来监控的参数.
来源: https://www.webhek.com/post/ssh-keygen-ssh-copy-id-and-autossh.html