一般情况下,我们在选择Linux服务器处理安全的时候,修改默认的22端口,以及用超强复杂的SSH密码基本上是可以解决安全问题的,实在不行你定期更换一次密码。不过老左经常看到有些网友的密码超级简单的阿拉伯数字和键盘上很有规律的密码组合(以前经常遇到很多人用这种密码:1qaz2wsx)。如果我们还需要再安全一点的话,可以用密钥配对VPS登录。
关于LINUX服务器配对密钥老左之前也有介绍过利用XSHELL、PUTTY生成的密钥然后配对到服务器的。关于服务器创建和配对密钥登录之前也有写过几篇文章:
2、腾讯云服务器CVM创建和配置SSH密钥 - 创建密钥且应用到服务器
3、Xshell设置密钥登录确保Linux VPS及服务器更加安全
4、设置Putty SSH使用密钥登录Linux VPS主机
5、创建Xshell密钥绑定DigitalOcean账户解决ROOT密码邮箱收件问题
老左准备在今天这篇文章中分享直接在Linux VPS中创建公钥和私钥,然后配对服务器登录,同时我们最后也需要禁止直接SSH密码登录。
第一、创建生成密钥
ssh-keygen -t rsa -b 4096
登录SSH,然后输入脚本,根据提示操作。
提示密钥保存目录,直接回车默认在"/root/.ssh/id_rsa",然后是需要输入两次密码。我们也可以留空不加密,这里我还是希望给加密。完成之后我们在"/root/.ssh"目录中看到"id_rsa.pub"、"id_rsa"文件,前者是公钥,后者是私钥。
我们需要将私钥下载到本地保管好,且服务器端的需要删除。
第二、导入公钥到服务器配置
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
这里我们直接用命令将公钥导入到配置文件中。然后在"/etc/ssh/sshd_config"找到下面一行:
#PubkeyAuthentication yes
这里我们将这一行前面的#删除然后保存。然后重启"/etc/init.d/ssh restart"。然后我们本地用SSH工具登录,可以导入我们下载到本地的私钥。
这里我们需要导入后输入当初设置的密码。可以登录。
第三、禁止SSH常规密码登录
我们需要在"/etc/ssh/sshd_config"中找到"#PasswordAuthentication yes",修改成:
PasswordAuthentication no
然后保存退出。
这里最后需要重启"/etc/init.d/ssh restart"。生效。
这个时候,我们再去用密码是无法登录的,需要用到密钥才可以。最好我们可以将端口也修改,可以参考之前老左写的"Debian系统修改SSH端口、设置防火墙 禁止22端口登录"。