由于最近服务器老是被恶意尝试登陆,所以抽时间把登陆方式统一改为了证书登录的方式,以下是简单记录:

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那里选择刚才转换的私钥即可。