由于最近服务器老是被恶意尝试登陆,所以抽时间把登陆方式统一改为了证书登录的方式,以下是简单记录:
1、服务器端生成一个证书密钥对:
输入密码以保护私钥:
1 | > ssh-keygen -t rsa |
一般会在用户目录的.ssh目录下生成id_rsa和id_rsa.pub;
2、将id_rsa.pub内容添加到.ssh目录下的authorized_keys;
注意由于authorized_keys支持多个公钥,所以需要保证添加的公钥是一行一个,并修改authorized_keys的权限为600;
3、修改ssh的配置文件
/etc/ssh/sshd_config
把#AuthorizedKeysFile %h/.ssh/authorized_keys
的#注释掉,即改为:AuthorizedKeysFile %h/.ssh/authorized_keys
设置不允许密码登录:注释掉#PasswordAuthentication yes
;并改为PasswordAuthentication no
4、重启ssh
1 | > service ssh restart |
此时,验证是否成功。
5、putty不支持直接生成的私钥登陆,所以需要转换一下:
打开PUTTYGEN.exe,导入我们的私钥id_rsa,保存私钥即可。
6、在putty中使用私钥认证:
输入服务器地址后,点击connection -> SSH -> Auth;在Private key file for authentication那里选择刚才转换的私钥即可。