需求
本人使用CENTOS7进行开发调试,所以要经常通过 SSH 连接到服务器进行应用部署与维护。
所以,迫切需要有一种方法能够免密码登录到云服务器,而且随处可用。
方案
使用"公私钥"认证的方式来进行ssh登录
原理
-
客户端上创建一对 RSA 公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)
-
把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥
-
当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配,如果匹配成功登录成功
(1)用于生成 RSA 公私钥
然后,在空白区随意移动鼠标,puttygen.exe 会根据鼠标移动生成随机数,用来生成 RSA 公私钥。
将上一步生成的 Public Key 全部 copy, 然后放到服务器端 ~/.ssh/authorized_keys 文件里,一个 Public Key 占据一行,如下图所示:
mkdir -p /root/.ssh -p cd /root/.ssh vi authorized_keys
点击 puttygen.exe 的 Save private key, 将 RSA 私钥保存成一个文件