解决Rocky9 sshd登录不成功
因为从当前的云公司离职了,手头没有云主机可以用,用在自己电脑上通过虚拟机装下 Linux 平时玩下。现在因为centos stream的原因,所以换用了rocky linux,不过在安装完成后,发现无法通过本机电脑 ssh 连接上该主机,检查了下发现这些地方都没有问题,对应的 /var/log/secure
日志查看了有登录失败报错的信息,。猜想无非是 pam_unix2 模块、/etc/hosts.deny、防火墙等屏蔽了主机上的登录,不过检查发现都是正常的,又查了下 sshd.conf 配置,发现了是 PermitRootLogin prohibit-password
默认配置引起的。
在 SSH 配置中,PermitRootLogin prohibit-password
是一种安全措施,用于控制 root 用户的登录权限。这个配置项位于 SSH 服务器的配置文件 /etc/ssh/sshd_config
中。理解和正确配置这一项对于保护你的服务器免受未经授权的访问非常重要。
解释 PermitRootLogin prohibit-password
PermitRootLogin prohibit-password
: 这个配置选项允许 root 用户通过 SSH 登录,但禁止使用密码进行认证。即,root 用户只能使用密钥对认证的方式进行登录,不能通过密码登录。这个选项增加了安全性,因为密钥认证比密码认证更难被暴力破解。
如何配置 PermitRootLogin prohibit-password
-
编辑 SSH 配置文件: 使用你喜欢的文本编辑器打开 SSH 配置文件。通常需要超级用户权限:
1sudo nano /etc/ssh/sshd_config
或者使用其他编辑器,例如
vi
:1sudo vi /etc/ssh/sshd_config
-
找到或添加
PermitRootLogin
行: 查找配置文件中的PermitRootLogin
行。如果不存在,请添加它。设置为prohibit-password
:1PermitRootLogin prohibit-password
如果已经存在其他配置(如
PermitRootLogin yes
或PermitRootLogin no
),请修改为上述设置。 -
保存并关闭文件: 在
nano
中,按Ctrl + X
,然后按Y
进行保存。在vi
中,按Esc
,然后输入:wq
并按 Enter 键。 -
重启 SSH 服务: 配置更改后,你需要重启 SSH 服务使其生效:
1sudo systemctl restart sshd
或者:
1sudo service sshd restart
其他相关选项
PermitRootLogin yes
: 允许 root 用户使用 SSH 登录,不限制认证方式(包括密码)。PermitRootLogin no
: 禁止 root 用户通过 SSH 登录。PermitRootLogin without-password
: 允许 root 用户使用 SSH 密钥对进行认证,但禁止使用密码进行认证(这个选项通常与prohibit-password
等价)。
总结
PermitRootLogin prohibit-password
是一个推荐的安全设置,它允许 root 用户通过 SSH 登录但只允许使用密钥对认证,从而增强系统的安全性。确保你已经设置并配置了 SSH 密钥对,并且将公钥正确地添加到 root 用户的 ~/.ssh/authorized_keys
文件中。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/2024/07/rocky-ssh-failure.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.