SSH登录Linux实例时提示“Permission denied, please try again”的问题怎么办?
32阅读
0评论
0点赞
本文解决了在使用root用户通过SSH登录Linux轻量应用服务器实例时遇到的“Permission denied, please try again”错误。问题可能是由于服务器禁用了root用户登录或密码认证,或者是由于启用了SELinux服务。解决方案包括修改SSH服务配置文件中的相关参数并重启服务,以及调整SELinux服务的状态。
问题描述
当您尝试通过本地SSH客户端登录Linux系统的轻量应用服务器实例时,即使输入了正确的密码,也可能出现以下错误信息:
Permission denied, please try again.
SSH服务器拒绝了密码,请再试一次。
问题原因
导致此问题的原因可能包括:
- 轻量应用服务器实例内禁用root用户登录:SSH服务配置文件
/etc/ssh/sshd_config
中的参数PermitRootLogin
或PasswordAuthentication
被设置为no
。PermitRootLogin
设置为no
,表示禁用使用root用户登录。PasswordAuthentication
设置为no
,表示禁用使用密码方式登录,但允许使用密钥方式登录。
- Linux系统启用了SELinux服务,导致root用户和普通用户无法登录。执行
cat /var/log/secure
查看secure日志,如果日志中包含error: Could not get shadow information for root.
,则表明是由于启用了SELinux服务导致的问题。
解决方案
禁止root用户登录引起的问题
- 使用救援远程连接轻量应用服务器实例。具体操作,请参见使用救援连接Linux服务器。
- 查看
/etc/ssh/sshd_config
的参数配置。cat /etc/ssh/sshd_config
如果
PermitRootLogin
和PasswordAuthentication
参数设置为no
,则表示禁止root用户登录,同时也禁止以密码方式登录。
- 修改
PermitRootLogin
和PasswordAuthentication
参数配置。- 打开SSH配置文件。
vi /etc/ssh/sshd_config
- 修改参数值配置。
- 如果需要root用户登录,请将
PermitRootLogin
参数值设置为yes
。 - 如果需要密码方式登录,请将
PasswordAuthentication
参数值设置为yes
。
- 如果需要root用户登录,请将
- 保存修改。
按Esc键,输入
:wq
保存修改。
- 打开SSH配置文件。
- 重启SSH服务。
systemctl restart sshd.service
SELinux服务引起的问题
您可以根据实际情况,选择临时或永久关闭SELinux服务来解决SSH连接异常问题。
- 检查SELinux服务状态。
- 使用救援远程连接轻量应用服务器实例。具体操作,请参见使用救援连接Linux服务器。
- 执行如下命令,查看当前SELinux服务状态。
/usr/sbin/sestatus -v
如果显示
SELinux status: enabled
,则表示SELinux服务处于开启状态。
- 关闭SELinux服务。
- 临时关闭SELinux服务
setenforce 0
- 永久关闭SELinux服务
- 执行如下命令。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
注意:此命令仅适用于当前SELinux服务为
enforcing
状态的情况。 - 重启实例使设置生效。具体操作,请参见查看服务器信息。
- 执行如下命令。
- 临时关闭SELinux服务
评论(0)
暂无评论,期待您的发言...
发表评论