龙空技术网

Linux SSH开启密钥登录 禁止Root用户登录

直爽奋发有为的奶酪 178

前言:

现时我们对“centos如何登陆root用户”大概比较注重,大家都需要了解一些“centos如何登陆root用户”的相关内容。那么小编也在网摘上搜集了一些有关“centos如何登陆root用户””的相关知识,希望大家能喜欢,小伙伴们一起来学习一下吧!

Linux SSH开启密钥登录 禁止Root用户登录

ssh默认采用密码方案,不仅面临弱密码安全挑战,复杂的还不便于记录。我就是VPS渐渐多了起来,每个服务器都分配一个复杂密码,每一次登录都要翻开备忘录查找。这时候密匙登录就成了比较的解决方案,一把钥匙游走所有门锁。

目前我服务器环境已经从centos迁移到Debian,大部分实例都会基于Debian运行。

如果没有安装ssh,先安装

yum install openssh-serverapt install -y openssh-server

以下 ssh-keygen 命令默认在用户目录 ~/.ssh 中生成 4096 位 SSH RSA 公钥和私钥文件。

ssh-keygen -t rsa -b 4096

使用当前登录进入用户目录,输入 cd ~/.ssh/ 会出现id_rsaid_rsa.pub这两个文件,id_rsa是私钥,id_rsa.pub是公钥,将公钥写入authorized_keys中。将id_rsa私钥下载并保存好,这就是一把钥匙。

# 创建文件touch authorized_keys# 写入公钥写入cat id_rsa.pub >> authorized_keys# 查看创建文件ls -al ~/.ssh

这个时候就要给相关文件设置权限,不然可能无法工作。如果不设置权限,如果服务器是多用户就会存在跨用户查看公钥文件,查看无所谓,如果手贱给你修改了那就无法正常登录。

chmod 600 authorized_keyschmod 700 ~/.ssh

现在锁(密钥)已经配置好,那就来测试钥匙是不是能正常打开门。打开 /etc/ssh/sshd_config 文件,修改其中的关键参数。

# yes表示允许密钥登陆PubkeyAuthentication yes# 指定密钥的文件位置AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

到此,SSH密钥就配置完成,重启ssh服务即可上锁测试/etc/init.d/ssh restart

测试连接正确后,进行ssh加固。

# 删除私钥和公钥rm -rf ~/.ssh/id_rsarm -rf ~/.ssh/id_rsa.pubvim /etc/ssh/sshd_config# 不允许使用密码登录PasswordAuthentication no
禁止root用户登录

禁用root登录时候,需要新建一名用户,并授予sudo权限,才好设置禁止root用户登录,不然禁止了就没有用户可以登录。

vim /etc/ssh/sshd_config# 禁止root用户登录PermitRootLogin no

标签: #centos如何登陆root用户