SSH 免密登陆 VPS
我们在进行 SSH 登陆的时候,每次都需要输入密码,就感到十分的不方便,这里可以利用 SSH Key(ssh公钥) 来验证登录,从而实现免密登陆。
通过命令生成 SSH Key
生成 SSH Key 我们需要 ssh-keygen
命令
1 | ssh-keygen -t rsa -C "xxxxx@xxxxx.com" |
查看生成的 SSH Key
1 | cat ~/.ssh/id_rsa.pub |
在 .ssh
文件夹中,可能有三个文件
- id_rsa : 生成的私钥文件
- id_rsa.pub : 生成的公钥文件
- know_hosts : 已知的主机公钥清单
我们需要用的就在 id_rsa.pub
文件中。
如果希望ssh公钥生效需满足至少下面两个条件:
* .ssh
目录的权限必须是700
* .ssh/authorized_keys
文件权限必须是600
将 SSH Key 上传到服务器
方法一:手动复制
先登录服务器
1 | ssh root@服务器IP地址 -p 端口 |
在 VPS 的默认目录(/root)下面新建文件夹 .ssh
1 | mkdir ~/.ssh |
进入 .ssh
目录,执行 vi
命令新建 authorized_keys
文件
1 | cd ~/.ssh |
将 id_rsa.pub
文件中的内容粘贴到 authorized_keys
文件中,保存退出,之后就可以实现免密登陆。
方法二:执行 scp
命令快速建立 authorized_keys
文件
1 | scp -P 端口 ~/.ssh/id_rsa.pub root@服务器IP地址:/root/.ssh/authorized_keys |
注意:这里 -P
的 P 是大写。
输入密码后,authorized_keys
文件就新建成功,之后就可以免密登陆了。