无论是虚拟主机,还是VPS/服务器,一旦我们主机入口的用户名和密码被知晓或者破解之后,即便我们的网站再安全,也徒劳。所以,我们在精通各种VPS运维技术之前,需要学会如何确保VPS入口端的安全配置,在之前的”修改端口,禁止ROOT用户登陆以及使用SSH密钥登陆”文章中,我们已经学会如何修改复杂的ROOT密码,以及修改默认的22端口,以及我们设置非ROOT用户登陆权限。
由于篇幅和时间的问题,没有分享SSH设置密钥登陆,因为考虑到方法的长度和内容的重要性,还是单独一篇文章分享我们常用XSHELL工具来设置密钥登陆。也就是类似我们登录SSH工具的是后,需要与服务器一致的证书导入才可以打开,即便我们知道密码和用户名也没有用。
第一步、生成SSH密钥记录
这里采用熟悉和不错的XSHELL工具,有些用户用到PUTTY等其他SSH工具大同小异,都差不多的需要设置记录的密钥出来。
我们需要先在”工具”-“新建用户密钥生成向导”。
选择密钥类型、密钥长度,根据自己需要选择。
生成公钥对。
设置密钥管理的密码,不是我们VPS的密码。
把生成的PUB文件另存为到我们本地路径文件中,这个很重要。然后点击完成。我们就在SSH工具中设置完毕。
第二、导入和添加密钥到服务器中
我们这一步比较关键,需要把上面生成的密钥与我们的VPS/服务器配对,这样才可以以后通过密钥登陆VPS。
A – 将我们上面生成的.PUB公钥上传到ROOT目录.ssh文件夹下面,如果没有这个文件夹我们需要创建,然后将.pub文件重命名为authorized_keys文件。然后设置chmod 600 authorized_keys权限。
B – 修改 /etc/ssh/sshd_config 文件,将RSAAuthentication和PubkeyAuthentication文件的#备注去掉。
C – 重启SSHD环境
/etc/init.d/sshd restart
第三、登陆SSH工具且选择使用密钥
选择Public key方式,然后用户密钥选择我们本地的,且这里的密码是管理密钥密码(这个比较重要,即便密钥文件给其他人知道了,没有密码也不行,双重保险)。
最后,修改远程服务器SSHD设置
我们还是来修改/etc/ssh/sshd_config 文件,找到PasswordAuthentication后面的yes改成no
然后重启SSHD服务器 : /etc/init.d/sshd restart
这样,我们就完成VPS/服务器上设置SSH密钥登陆账户,进而可以更进一步的让VPS入口得到安全。