在上一篇的"Xshell设置密钥登录确保Linux VPS及服务器更加安全"文章中已经分享到XSHELL使用密钥登陆我们的VPS服务器确保机器的安全,但是很多同学们并不是都像老左一样用XSHELL,而还是有很多使用PUTTY登陆SSH,所以重新起一篇文章单独再分享用PUTTY设置密钥登陆Linux VPS主机的方法。
PS:我们如果需要使用PUTTY一定要到正规的下载站最好是官方网站下载,所谓的破解版、绿色版、中文精简版等等可能有被人植入木马,这样会影响我们的账户安全。
第一步、生成密钥
看到很多教程有提到用puttygen.exe文件可以生成密钥的,但是可能会出现Server refused our key这样的登陆错误,所以我们这里直接使用VPS远程设置密钥,然后下载到本地。
根据上图的演示,登陆到SSH之后,我们先输入ssh-keygen -t rsa 然后会要求我们确定 路径我们直接回车会自动创建/root/.ssh文件夹目录,然后回车后出入密钥密码,输入两次继续回车密钥就可以在目录中看到。
我们把root/.ssh目录中的id_rsa和id_rsa.pub下载到本地备份等会需要使用。
第二步、修改sshd配置文件
A - 将root/.ssh中的id_rsa.pub修改名字为authorized_keys 并且用chmod 600 authorized_keys设置权限。
B - 找到/etc/ssh/sshd_config ,把RSAAuthentication和PubkeyAuthentication两行前面的#注释去掉。
C - 重启SSHD服务。
Debian/Ubuntu执行:/etc/init.d/ssh restart CentOS执行:/etc/init.d/sshd restart
第三步、客户端配置密钥
我们打开puttygen.exe文件,载入密钥。
输入在SSH中设置的密钥密码。
保存私钥。
保存的文件名可以设置为id_rsa.ppk,也可以自定义名字但后缀必须是PPK,后面我们有需要用到。
第四步、设置PUTTY认证链接
正常的登陆,开始可能需要我们输入密钥密码。
第五步、再次修改SSHD配置文件
修改/etc/ssh/sshd_config 文件中找到PasswordAuthentication后面的yes改成no
然后重启sshd
Debian/Ubuntu执行:/etc/init.d/ssh restart CentOS执行:/etc/init.d/sshd restart
这样我们的putty登陆使用密钥也配置完成,即便他们知道我们的ROOT密码也不好登陆,所以到本地的几个文件需要确保安全,只要你本机电脑安全,你的VPS就相对足够的安全。