Putty实现免密远程登录
1 生成公私秘钥对
可以用puttygen来生成,也可以直接用linux系统自带的openssl来生成,我们这里采用后一种方式。
我们选择ed25519算法,这种效率较高,安全性也比较高,RSA相对还要考虑位数,4096位目前还算比较安全。
输入
$ ssh-keygen -t ed25519
然后一路回车,需要的话,可以修改文件名,口令可以不输,直接回车就好了,也可以输入口令,比如password。
2 保存私钥到本地
现在我们需要用到puttygen,因为我们是用putty来远程登录服务器,所以保存私钥要保存成putty可以识别的格式,即后缀为ppk。
可以通过文件客户端软件,比如filezilla来拉取服务器上的私钥,私钥一般就是文件名。公钥是文件名.pub
然后,使用puttygen,导入私钥,生成putty可以识别的私钥格式
点击“是”,然后输入名称,选择位置,即可保存为文件名.ppk格式。
3 添加公钥到服务器
本地私钥用于加密,服务器公钥用于解密。服务器上有个专门的目录,用于保存公钥。位置:
/root/.ssh/authorized_keys
如果没有,就需要新建,新建之后要授权,chmod 400,.ssh目录只能有 chmod 700权限。
$ cat /dev/null > /root/.ssh/authorized_keys
如果有清空文件内容的需求,可以采用上述做法。
$ cat /root/.ssh/id_ed25519.pub >> /root/.ssh/authorized_keys
追加内容到authorized_keys文件中。
4 配置putty会话
在新建的会话(session)中,设置私钥,关联私钥文件即可。
可以将配置好的会话保存,以便下次直接访问。点击“open”,即可登录:
如果之前有设置过登录口令,这里需要输入登录口令,比如password,输入之后即可进入系统。