已经按照提示查看过./etc/ssh/ssdh_config,发现默认的PermitRootLogin就是yes,但是还是登录不了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到您描述的问题,即使/etc/ssh/sshd_config
中的PermitRootLogin
已设置为yes
,仍然无法通过root用户登录SSH,可以按照以下步骤进一步排查和解决:
检查密码认证是否启用: 确认/etc/ssh/sshd_config
文件中PasswordAuthentication
设置是否为yes
。如果设置为no
,则需要改为yes
以允许密码认证,并重启SSH服务:
sudo sed -i 's/^PasswordAuthentication no$/PasswordAuthentication yes/' /etc/ssh/sshd_config
sudo systemctl restart sshd
SELinux状态检查与调整: 执行命令查看secure日志,确认是否有SELinux相关的错误信息:
cat /var/log/secure
如果发现有如error: Could not get shadow information for root.
的记录,说明可能因SELinux导致登录失败。您可以选择临时或永久关闭SELinux服务来尝试解决问题。
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
随后重启实例使更改生效。
密钥对验证问题: 确保没有误将SSH配置为仅允许密钥对验证,而实际使用密码尝试登录。检查PubkeyAuthentication
设置,确保未禁用密码登录作为唯一验证方式。
用户权限与家目录问题:
/root
)权限正确,通常应为700。.ssh
目录及其内部文件(特别是authorized_keys
)的权限是否符合要求,.ssh
目录应为700,authorized_keys
为600。防火墙与安全组规则: 确认服务器的防火墙及云服务提供商的安全组规则没有阻止SSH端口(默认22)的入站连接。
系统日志分析: 查看/var/log/auth.log
或/var/log/secure
日志文件,寻找关于登录失败的具体原因,这可能会提供更详细的错误信息帮助定位问题。
完成上述步骤后,重试SSH登录。如果问题依旧存在,建议考虑是否存在其他系统级安全软件或策略限制了SSH访问,或者联系您的云服务提供商获取进一步的技术支持。