SSH无法登录云主机

简介

本节操作将介绍在使用远程登录工具(例如PuTTY、XShell)登录移动云主机时出现无法登录的情况的排查思路和解决方法。

推荐您按照以下顺序进行排查:

  1. 检查云主机状态是否为运行中。
  2. 是否可以通过云服务器控制台进行远程登录。
  3. 检查云主机是否绑定弹性公网IP。
  4. 检查sshd服务是否正常。
  5. 检查安全组配置。
  6. 尝试使用其他网络环境登录。
  7. 检查云主机负载是否过高。
  8. 仍未解决。

一、检查云主机状态是否为运行中

1. 检查云主机状态

请在云服务器控制台检查云主机状态是否为“运行中”。

2. (可选)开机

如果云服务器状态为“已关机”,请先开机再登录云主机。如下图,点击右侧“更多”→“状态管理”→“开机”,等待云主机状态变为“运行中”即完成云主机的开机。

二、是否可以通过云服务器控制台进行远程登录

1. 点击远程登录

请在云服务器控制台点击对应云主机操作列的【远程登录】。

2. 点击立即登录

在弹出框点击【立即登录】。

之后将会在新窗口完成远程登录。修改密码后初次登录需要在红框处输入正确的用户名密码,如果密码错误,可根据步骤3进行密码重置

3.(可选)重置密码

如果忘记密码或登录时输入密码提示密码错误,可点击弹出框的【重置密码】进行重置。

4. 无法通过云服务器控制台方式远程登录云主机

    a. 重置密码

    若通过云服务器控制台方式远程登录云主机,可先根据上面的步骤3进行重置密码,再尝试是否可以通过云服务器控制台方式远程登录云主机。

    b. 检查文件系统是否损坏

    强制关机后,可能会小概率遇到文件系统损坏的情况,会导致再次启动云主机失败,此时远程登录会出现提示Checking filesystems ... FAILED的内容,可通过Linux操作系统自带的磁盘修复工具(fsck)进行修复。

   

    操作步骤如下:

        1) 根据界面提示,输入云主机的root账号密码。

        2) 执行以下命令,查看是否已挂载的磁盘问题分区(xvdb1根据Checking filesystems报错的磁盘名称来进行对应调整)。

 mount | grep sdb1

        3) 若已挂载磁盘问题分区,执行以下命令,进行卸载。

 umount /dev/sdb1 

        4) 执行以下命令,修复问题分区的文件系统。

 fsck -y /dev/sdb1 

       

        5) 执行以下命令,重启云主机。

reboot

    c. 其他情况

    如果依旧无法通过云服务器控制台方式远程登录云主机,请记录资源信息和问题时间,然后点击管理控制台右上方的【工单】,填写工单信息,获取技术支持。

三、检查云主机是否绑定弹性公网IP

使用远程登录工具(例如PuTTY、XShell)连接实例时,云主机需要先绑定弹性公网IP。

1. 查看云主机公网IP

鼠标悬停在对应云主机的IP地址列,即可查看云主机公网IP。

2.(可选)绑定弹性公网IP

如果云主机无公网IP,可参考绑定弹性公网IP进行操作。

四、检查sshd服务是否正常

在确定绑定弹性公网IP后,使用VNC登录,检查sshd服务状态。

1. 检查云主机sshd服务是否已运行

2. 检查云主机的sshd端口是否符合预期

    a. 执行以下命令, 查看ssh开放的端口是否为预期的ssh登录端口,默认端口为22。

cat /etc/ssh/ssh_config | grep Port

   

    b.(可选)修改sshd开放的登录端口。

    若发现ssh开放的端口不是预期的登录端口,将配置文件 /etc/ssh/ssh_config中Port配置的端口号修改为预期的登录端口后重启sshd服务(如centos操作系统可使用systemctl restart sshd),之后再尝试登录。

   

3. 检查云主机是否将本地PC限制了

执行以下命令,看访问控制规则中是否包含本地PC的IP。

 cat /etc/hosts.deny 

如果存在说明此IP被限制了,请修改规则放开本地PC的IP限制(如下图示例,说明限制了218.64.87.0-127的所有IP,若本地IP在此范围内,则无法访问)。

4. 检查是否防火墙配置导致的

可尝试先关闭防火墙(根据操作系统不同,关闭命令不同,如CentOS操作系统可使用systemctl stop firewalld),再看ssh是否可以登录。

5. 其他Linux远程登录报错问题

若sshd服务正常,尝试连接后出现如”Permission denied”、”Access denied”之类的错误,可参考Linux远程登录报错问题处理进行处理。

五、检查安全组配置

1. 查看安全组规则

进入云主机实例页面

2. 检查安全组关于ssh配置是否正确

    a. 主要检查“目的端口或范围”和“授权对象”是否和自己本地远程工具ssh登录的配置一致,如端口是否正确,本地IP是否包含在授权对象的网段里。

   

    b.(可选)修改安全组配置

    若本地环境不匹配安全组规则,则需要根据实际情况,点击【修改】,在修改安全组规则框中配置匹配自己本地环境的安全组规则后点击【确定】。等待几分钟左右,再尝试使用远程连接工具登录。

   

六、尝试使用其他网络环境登录

若完成以上配置后,依旧无法登录云主机,可尝试更换手机热点或其他网络,尝试能否远程连接云主机。

七、检查云主机负载是否过高

1. 云服务器的带宽和CPU利用率过高可能会导致服务器无法登录。可点击【监控】按钮,查看CPU、内存、带宽的利用率。

2. 若云主机带宽流量过高或CPU利用率高,可尝试将带宽流量或CPU利用率降下来后再尝试远程登录。

八、仍未解决

如果通过上述排查,仍然无法登录云主机,请记录资源信息和问题时间,然后点击右上角的工单 ,填写工单信息,获取技术支持。

本文档内容整理自移动云官方帮助中心(查看原文),仅供参考。