Linux SSH开启密钥登录 禁止Root用户登录
ssh默认采用密码方案,不仅面临弱密码安全挑战,复杂的还不便于记录。我就是VPS渐渐多了起来,每个服务器都分配一个复杂密码,每一次登录都要翻开备忘录查找。这时候密匙登录就成了比较的解决方案,一把钥匙游走所有门锁。
目前我服务器环境已经从centos迁移到Debian,大部分实例都会基于Debian运行。
如果没有安装ssh,先安装
1 | yum install openssh-server |
以下 ssh-keygen 命令默认在用户目录 ~/.ssh
中生成 4096 位 SSH RSA
公钥和私钥文件。
1 | ssh-keygen -t rsa -b 4096 |
使用当前登录进入用户目录,输入 cd ~/.ssh/
会出现id_rsa
、id_rsa.pub
这两个文件,id_rsa
是私钥,id_rsa.pub
是公钥,将公钥写入authorized_keys
中。将id_rsa
私钥下载并保存好,这就是一把钥匙。
1 | # 创建文件 |
这个时候就要给相关文件设置权限,不然可能无法工作。如果不设置权限,如果服务器是多用户就会存在跨用户查看公钥文件,查看无所谓,如果手贱给你修改了那就无法正常登录。
1 | chmod 600 authorized_keys |
现在锁(密钥)已经配置好,那就来测试钥匙是不是能正常打开门。打开 /etc/ssh/sshd_config
文件,修改其中的关键参数。
1 | # yes表示允许密钥登陆 |
到此,SSH密钥就配置完成,重启ssh服务即可上锁测试/etc/init.d/ssh restart
测试连接正确后,进行ssh加固。
1 | # 删除私钥和公钥 |
禁止root用户登录
禁用root登录时候,需要新建一名用户,并授予sudo
权限,才好设置禁止root用户登录,不然禁止了就没有用户可以登录。
1 | vim /etc/ssh/sshd_config |
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自钧言极客
评论 ()