首頁  >  文章  >  運維  >  無法連線Linux實例的原因以及解決方案

無法連線Linux實例的原因以及解決方案

坏嘻嘻
坏嘻嘻原創
2018-09-28 14:07:453274瀏覽

本文在介紹無法連接Linux實例的原因以及解決方案的基礎上,重點探討了其具體步驟,本文內容緊湊,希望大家可以有所收穫。

無法連接Linux實例

下圖顯示了無法連接 ECS 實例的原因分類和出現機率。若無法連線實例,建議您依照下列原因進行排查。

無法連線Linux實例的原因以及解決方案

首先嘗試遠端連線

#無論何種原因導致無法遠端連線實例,請先嘗試以阿里雲提供的遠端連接功能進行連接,然後再按原因分類進行故障排查。

登入 雲端伺服器管理控制台。

找到需要連線的實例,在找到需要連線的實例,在 操作 列,按一下 遠端連線。

無法連線Linux實例的原因以及解決方案

連接 管理終端機。首次連接,需要先複製密碼。

無法連線Linux實例的原因以及解決方案

輸入密碼後,連線實例 。

無法連線Linux實例的原因以及解決方案

若忘記密碼,點選若忘記密碼,點選 修改管理終端機的密碼,設定新密碼。 I/O 最佳化的實例,修改密碼後即時生效,無需重啟

無法連線Linux實例的原因以及解決方案

無法連接ECS實例檢查想法

請依照以下各原因序逐一檢查:

客戶端本地網路異常[出現機率:3%]

重設實例密碼,未重啟ECS 實例[出現機率: 7%]

iptables 設定異常(Centos 6)[出現機率:10%]

安全群組公網規則[出現機率:8%]遠端存取連接埠配置異常[出現機率:10%]CPU 負載過高[出現機率:9%]

1. 客戶端本機網路異常[出現機率:3 %]

故障現象:使用者無法登入外網。

可能原因:網路卡驅動未開啟或網路卡配置有問題。

解決方法:尋找 /etc/hosts.deny 看是否有攔截IP;檢查網路卡驅動,重新安裝。

2. 重設實例密碼,未重新啟動實例[出現機率:7%]

故障現象:有實例密碼修改記錄,但無重啟實例記錄。 可能原因:您修改了實例密碼,但未重新啟動 ECS 實例。

解決方法:

登入雲端伺服器管理控制台。

點選左側導覽列中的 實例。

點選頁面頂端的地域。

選擇需要的實例。單擊 重啟。

在彈出的提示框中,選擇 重啟,按確定。

3. iptables 設定例外(Centos 6)[出現機率:10%]

前提條件:您只有在已授權可關閉iptables 的情況下,才能做該項排查。

故障現象:SSH 無法連接,關閉 iptables 後連線恢復。

解決方法:調整 iptables 設定策略。

查看防火牆規則:

iptables -nvL –line-number

L 查看目前表的所有規則,預設查看的是 filter 表,如果要查看 NAT 表,可以加上 -t NAT 參數。

n 不對 IP 位址進行反查,加上這個參數顯示速度會快很多。

v 輸出詳細信息,包含通過該規則的資料包數量、總位元組數及相應的網路介面。 無法連線Linux實例的原因以及解決方案

修改規則。 ######若先前已設定規則策略的,將原有的 iptables 檔案儲存一份,避免先前設定的策略遺失。 ###
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
###清空伺服器上所有的規則。 ###
iptables -F
###設定 INPUT 方向所有的請求都拒絕。如果是線上業務請勿直接操作,會導致業務直接中斷。 ###
iptables -P INPUT DROP
###設定 iptables 防火牆後需放行 22 號端口,否則會導致無法遠端。 ###
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
###指定 IP 存取22號連接埠。 ###
iptables -I INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT
###說明: 192.168.1.1 為請求端 IP 位址。 ######使用 iptables -L 檢視一下新增的規則是否生效。 ###
iptables -L
##########

保存添加的规则。

iptables-save > /etc/sysconfig/iptables

设置后需要重启iptables。

service iptables restart 或 /etc/init.d/iptables restart

操作完成后,重启服务器进行配置验证。

systemctl reboot

完成操作后,请再进行 SSH 连接。

4. 安全组公网规则 [出现概率:8%]

故障现象:ECS 服务器无法ping通,排查iptables、网卡IP配置无误,回滚系统后仍然无法ping通。

可能原因:ECS 实例安全组默认的公网规则被删除。

解决方法:重新配置 ECS 实例的安全组公网规则,具体操作详见 ECS实例安全组默认的公网规则被删除导致无法ping通。

5. 远程访问端口配置异常 [出现概率:10%]

故障现象:SSH 远程无法连接,远程访问端口非默认端口。

可能原因:更改了远程访问端口配置,有可能防火墙未对自定义端口放开。

解决方法:客户端无法正常登录时,建议先使用不同的 SSH 客户端基于相同账户信息进行登录测试。如能正常登录,则判断是客户端配置问题,需对客户端配置做排查分析。

使用 telnet 测试现有监听端口连通性。使用 Linux 自带的 telnet 工具测试现有端口的连通性。

telnet <host> <port>
# host 是目标服务器 IP,port是待测试端口号

修改或查看Linux远程端口:

vi /etc/ssh/sshd_config

找到 #port 22 这一行,默认端口为 22,可以把前面的#删除,把 22 改为其它的端口。

重启SSH服务:

/etc/init.d/sshd restart 或 service sshd restart

创建新的监听端口测试。

可以使用 python 自带的 Web 服务器用于临时创建新的监听端口进行测试。

python -m SimpleHTTPServer <所需端口号>

说明:

您可以通过自动测试默认端口来检测远程访问端口的问题。

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

6. CPU 负载过高 [出现概率:9%]

故障现象:CPU 负载过高导致系统无法进行远程连接。

解决方法:您无法主动监控系统内部的程序运行状态,可以借助 云监控 > 主机监控 > 进程监控 来实现。

無法連線Linux實例的原因以及解決方案

查看应用运行情况,排除 CPU 负载过高的原因。查看 CPU 负载问题详见 云服务器 ECS Linux 系统 CPU 占用率较高问题排查思路。

注意:在某个时间段 CPU 负载过高可能导致远程连接失败,建议您查询是否程序或者实例资源不满足现有要求。

最后尝试重启实例

若用阿里云提供的远程连接功能仍无法成功连接实例,请尝试重启实例。重启操作会使实例停止工作,从而中断业务,请谨慎执行。

注意:重启实例前,需对实例创建快照,用于数据备份或者制作镜像。创建快照的方法详见:创建快照。

在控制台重启实例。重启实例后,请再次尝试实例连接。

以上是無法連線Linux實例的原因以及解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn