云服务器没法远程链接?4步排查,准能解决!

在运维工程师的平常工做中,常常须要登陆到服务器上对应用部署和维护,配置修改是很常规操做。可是在平常运维工做中,常常也会遭遇“滑铁卢”,当出现没法远程链接服务器的时候,咱们须要沉着冷静,耐心分析报错的症结,方能更好的定位和排除问题。python

 

今天百晓生就阿里云服务器ECS没法远程链接的问题,分享一波运维必备的问题排查方法,认同小编的童鞋,文末【点赞+再看】哦~安全

说明:如下操做在CentOS 6.5 64位操做系统中进行过测试服务器

检查CPU负载、带宽及内存使用状况


确认是否存在CPU负载太高的状况网络

  • 若是在某个时间段CPU负载太高,可能致使远程链接失败,建议您查询程序或者实例资源是否不知足现有要求。
  • 若是不存在CPU负载太高的状况,则继续下一步检查。

确认公网带宽是否不足运维

没法远程链接多是公网带宽不足致使的,具体排查方法以下:ssh

  • 登陆ECS管理控制台。
  • 找到该实例, 单击管理进入实例详情页面,查看网络监控数据。
  • 检查服务器带宽是否为“1k”或“0k”。若是购买实例时没有购买公网带宽,后来升级了公网带宽,续费的时候没有选择续费带宽,带宽就会变成“1k”。

确认内存是否不足测试

远程链接输入用户密码登陆后,不能正常显示桌面直接退出,也没有错误信息。这种状况多是服务器内存不足致使的,须要查看一下服务器的内存使用状况。具体操做以下:阿里云

  • 使用控制台远程链接功能登陆到Linux实例。
  • 查看内存使用状况,确认内存不足后,再进行处理。

客户端排查

客户端没法正常登陆时,先使用不一样的SSH客户端基于相同帐户信息进行登陆测试。若是能正常登陆,则判断是客户端配置问题,须要对客户端配置或软件运行状况作排查分析。关于如何使用SSH客户端登陆Linux实例,您能够参见远程链接Linux实例。云计算


步骤一:使用管理终端登陆实例spa

不管何种缘由致使没法远程链接实例,请先尝试用阿里云提供的远程链接功能进行链接,确认实例还有响应,没有彻底宕机,而后再按缘由分类进行故障排查。

  • 录云服务器管理控制台,单击左侧导航栏中的实例,而后在目标实例右侧单击远程链接。
  • 在首次链接或忘记链接密码时,单击修改远程链接密码,修改远程链接的密码。
  • 而后经过远程链接密码链接实例。

步骤二:检查客户端本地网络是否异常

确认是否存在用户本地没法链接外网的故障。

  • 若是存在,则检查网卡驱动,若是存在异常,则从新安装。使用管理终端登陆实例,查看/etc/hosts.deny文件,查看是否存在拦截IP,若是存在则删除此IP配置便可。
  • 若是不存在,则继续下一步检查。

步骤三:重启实例

在确保登陆密码正确的状况下,确认以前是否曾重置过密码。检查重置实例密码后是否未重启实例,若是存在实例密码修改记录,但无重启实例记录,则参考如下操做步骤重启实例:

  • 登陆ECS管理控制台,单击左侧导航栏中的实例。
  • 在页面顶部的选择对应的地域,目标实例右侧单击更多>实例状态>重启,再单击肯定便可。

中间网络

中间网络包括网络检查和端口检查。

网络检查

没法正常远程链接Linux实例时,须要先检查网络是否正常。

  • 用其余网络环境中,不一样网段或不一样运营商的电脑链接对比测试,判断是本地网络问题仍是服务器端的问题。若是是本地网络问题或运营商问题,请联系本地IT人员或运营商解决。若是是网卡驱动存在异常,则从新安装。排除本地网络故障后进行下一步检查。
  • 在客户端使用ping命令测试与实例的网络连通性。

1)网络异常时,请参见网络异常时如何抓取数据包进行排查。

2)当出现ping丢包或ping不通时,请参见使用ping命令丢包或不通时的链路测试方法进行排查。

3)若是出现间歇性丢包,ECS实例的网络一直处于不稳定状态时,请参见使用ping命令测试ECS实例的IP地址间歇性丢包进行解决。

4)系统内核没有禁ping的状况下,使用ping命令测试ECS服务器,发现网络不通,请参见Linux系统的ECS中没有禁PING却PING不通的解决方法。

 端口检查

网络检查正常后,进一步检查端口是否正常。

1. 使用管理终端登陆实例,执行以下命令,编辑SSH配置文件。

vi /etc/ssh/sshd_config2. 找到“#port 22”所在行,检查默认端口22是否被修改,且前面的“#”是否删除,若是没有删除,能够把前面的“#”删除,而后将22改成其它的端口,再保存退出便可。

说明:服务监听能使用的端口范围为0到65535,错误配置监听端口会致使远程桌面服务监听失败

3. 执行以下命令,重启SSH服务。

/etc/init.d/sshd restart说明:也可执行service sshd restart命令,重启SSH服务。

4. 使用Python自带的Web服务器建立临时的监听端口进行测试。

python -m SimpleHTTPServer [$Port]
 

5. 若是ECS安全组规则中未放行修改后的端口号,须要将修改后的端口号添加到ECS安全组规则中。

说明:ECS的安全组规则中默认放行22端口。修改了远程桌面的端口后,须要在安全组规则中放行修改后的端口号。

6. 经过上一步获取的端口,参考以下命令,进行端口测试,判断端口是否正常。

telnet [$IP] [$Port]

说明:

- [$IP]指Linux实例的IP地址。

- [$Port]指Linux实例的SSH端口号

系统显示相似以下,例如执行telnet 192.168.0.1 22命令,正常状况下,系统会返回服务端中SSH的软件版本号。

 

安全组检查

检查安全组配置,是否容许远程链接的端口。

  • 参见查询安全组规则,查看安全组规则。若是远程链接端口没有进行配置,则参见Linux实例启用SSH服务后设置对应的安全组策略配置。
  • 确认是否存在没法ping通ECS实例,在排除Iptables和网卡IP配置问题且回滚系统后,仍然没法ping通。多是ECS实例安全组默认的公网规则被删除,则须要从新配置ECS实例的安全组公网规则。若是不存在,则继续下一步骤检查。

关注百晓生,笑谈云计算

相关文章
相关标签/搜索