- 文档首页
云服务器
云服务器ECS
故障处理
远程登录问题
SSH登录问题
SSH配置问题导致无法登录解决方案
SSH配置问题导致无法登录解决方案
本文主要介绍如何排查和解决,Linux实例由于SSH配置或者系统参数设置不合理导致的无法登录问题,包括SSH访问权限异常、SSH关键文件或目录丢失、SSH登录报错、实例中的服务进程未处于运行中等。
前提条件
如果您需对实例进行配置与数据修改,建议您先创建快照,以便提高容错能力,确保数据安全。 SSH访问权限异常
由于SSH的访问权限配置异常,比如访问权限配置不足,导致无法登录Linux实例时,您可以按照如下方式解决。
- 执行以下命令,重置/var/empty/sshd目录的权限。
SSH关键文件或目录丢失
由于SSH访问所需关键文件或目录丢失,即不存在sshd_config配置文件,导致无法登录Linux实例时,您可以按照如下方式解决。
- 执行以下命令,检查是否存在sshd_config配置文件。
- (可选)如果存在sshd_config配置文件,跳过该步骤;如果不存在sshd_config文件,且您也无已备份的sshd_config.bak文件,请进行如下操作:
- 执行以下命令重新安装openssh-server服务。
- Debian系统:sudo apt-get install --reinstall openssh-server
- CentOS系统:yum reinstall openssh-server
SSH登录报错
root用户通过本地SSH客户端登录Linux系统的ECS实例时,密码正确,但出现Permission denied, please try again错误信息,或“SSH服务器拒绝了密码,请再试一次”问题时,您可以按照如下方式解决。
导致该问题原因可能是ECS实例内禁用root用户登录,或Linux系统启用了SELinux服务,导致root用户和普通用户无法登录。
禁止root用户登录引起的问题
- 执行以下命令,查看PermitRootLogin或PasswordAuthentication配置。
- 如果PermitRootLogin和PasswordAuthentication参数设置为no,表示禁止root用户登录,也禁止以密码方式登录,请继续以下操作。反之,请跳过本小节,在SELinux服务引起的问题中排查并解决。
- 修改PermitRootLogin和PasswordAuthentication参数配置。
- 修改PermitRootLogin和PasswordAuthentication参数值配置。
- 如果需要root用户登录,请将PermitRootLogin参数值设置为yes。
- 如果需要密码方式登录,请将PasswordAuthentication参数值设置为yes。
SELinux服务引起的问题
您可以根据实际情况,选择临时或永久关闭SELinux服务解决SSH连接异常问题。
步骤一:检查SELinux服务状态
- enabled:SELinux服务处于开启状态。
- disabled:SELinux服务处于关闭状态。
步骤二:关闭SELinux服务
您可以根据实际情况临时关闭SELinux服务(重启后会失效)或永久关闭SELinux服务。
服务进程未处于运行中
当服务进程未处于运行中(未处于监听状态)时,可能导致您无法访问Linux实例,您可以通过启动常见服务的方法解决该类问题,下文以CentOS 7系统为例说明。
操作说明
以下列举Linux实例中常见的服务以及对应服务未运行时产生的影响。
操作步骤
[$Port]指目标服务监听的端口,请以实际情况为准。如果您修改过目标服务默认的端口,请替换为修改后的端口号。
- 如果返回目标端口信息,并且监听状态为LISTEN,则说明目标服务已经处于运行状态,不需要启动,请跳过以下步骤。
- 如果无返回结果,即目标服务的端口未处于监听状态,请继续进行如下操作。
说明
- [$Service]指目标服务的名称,以实际情况为准。
- 如果需启动的是SSH服务,则服务名称为sshd。
- 如果需启动的是第三方服务,例如“Nginx”、“Tomcat”、“MySQL”等,请查阅第三方服务的官方网站,获取对应的启动命令。
- 如果无返回结果,则表示命令执行成功,跳过以下步骤。
- 如果返回错误,参考错误提示进行修复后,继续进行如下操作。
- 返回结果如下图,表示目标服务处于running状态。
-
- 返回结果如下图,表示目标服务的端口处于监听状态,即目标服务已经处于运行状态。
-
最近更新时间:2026.10.14 17:52:03