本文在介紹無(wú)法連接linux實(shí)例的原因以及解決方案的基礎(chǔ)上,重點(diǎn)探討了其具體步驟,本文內(nèi)容緊湊,希望大家可以有所收獲。
無(wú)法連接linux實(shí)例
下圖顯示了無(wú)法連接 ECS 實(shí)例的原因分類和出現(xiàn)概率。若無(wú)法連接實(shí)例,建議您根據(jù)如下原因進(jìn)行排查。
首先嘗試遠(yuǎn)程連接
無(wú)論何種原因?qū)е聼o(wú)法遠(yuǎn)程連接實(shí)例,請(qǐng)先嘗試用阿里云提供的遠(yuǎn)程連接功能進(jìn)行連接,然后再按原因分類進(jìn)行故障排查。
登錄 云服務(wù)器管理控制臺(tái)。
找到需要連接的實(shí)例,在找到需要連接的實(shí)例,在 操作 列,單擊 遠(yuǎn)程連接。
連接?管理終端。首次連接,需要先復(fù)制密碼。
輸入密碼后,連接實(shí)例 。
若忘記密碼,單擊若忘記密碼,單擊 修改管理終端的密碼,設(shè)置新密碼。I/O 優(yōu)化的實(shí)例,修改密碼后即時(shí)生效,無(wú)需重啟
無(wú)法連接ECS實(shí)例排查思路
請(qǐng)根據(jù)如下各原因序逐一排查:
客戶端本地網(wǎng)絡(luò)異常 [出現(xiàn)概率:3%]
重置實(shí)例密碼,未重啟 ECS 實(shí)例 [出現(xiàn)概率:7%]
iptables 配置異常(Centos 6)[出現(xiàn)概率:10%]
安全組公網(wǎng)規(guī)則 [出現(xiàn)概率:8%]
遠(yuǎn)程訪問(wèn)端口配置異常 [出現(xiàn)概率:10%]
CPU 負(fù)載過(guò)高 [出現(xiàn)概率:9%]
1. 客戶端本地網(wǎng)絡(luò)異常 [出現(xiàn)概率:3%]
故障現(xiàn)象:用戶無(wú)法登錄外網(wǎng)。
可能原因:網(wǎng)卡驅(qū)動(dòng)未開(kāi)啟或網(wǎng)卡配置有問(wèn)題。
解決方法:查找 /etc/hosts.deny 看是否有攔截IP;檢查網(wǎng)卡驅(qū)動(dòng),重新安裝。
2. 重置實(shí)例密碼,未重啟實(shí)例 [出現(xiàn)概率:7%]
故障現(xiàn)象:有實(shí)例密碼修改記錄,但無(wú)重啟實(shí)例記錄。
可能原因:您修改了實(shí)例密碼,但是未重啟 ECS 實(shí)例。
解決方法:
登錄云服務(wù)器管理控制臺(tái)。
單擊左側(cè)導(dǎo)航欄中的 實(shí)例。
單擊頁(yè)面頂部的地域。
選擇需要的實(shí)例。單擊 重啟。
在彈出的提示框中,選擇 重啟,單擊 確定。
3. iptables 配置異常(Centos 6)[出現(xiàn)概率:10%]
前提條件:您只有在已授權(quán)可關(guān)閉 iptables 的情況下,才能做該項(xiàng)排查。
故障現(xiàn)象:SSH 無(wú)法連接,關(guān)閉 iptables 后連接恢復(fù)。
解決方法:調(diào)整 iptables 配置策略。
查看防火墻規(guī)則:
iptables?-nvL?–line-number
L 查看當(dāng)前表的所有規(guī)則,默認(rèn)查看的是 filter 表,如果要查看 NAT 表,可以加上 -t NAT 參數(shù)。
n 不對(duì) IP 地址進(jìn)行反查,加上這個(gè)參數(shù)顯示速度會(huì)快很多。
v 輸出詳細(xì)信息,包含通過(guò)該規(guī)則的數(shù)據(jù)包數(shù)量、總字節(jié)數(shù)及相應(yīng)的網(wǎng)絡(luò)接口。
修改規(guī)則。
若之前已設(shè)置過(guò)規(guī)則策略的,將原有的 iptables 文件保存一份,避免之前設(shè)置的策略丟失。
cp?-a?/etc/sysconfig/iptables?/etc/sysconfig/iptables.bak
清空服務(wù)器上所有的規(guī)則。
iptables?-F
設(shè)置 INPUT 方向所有的請(qǐng)求都拒絕。如果是線上業(yè)務(wù)請(qǐng)勿直接操作,會(huì)導(dǎo)致業(yè)務(wù)直接中斷。
iptables?-P?INPUT?DROP
設(shè)置 iptables 防火墻后需放行 22 號(hào)端口,否則會(huì)導(dǎo)致無(wú)法遠(yuǎn)程。
iptables?-A?INPUT?-p?tcp?--dport?22?-j?ACCEPT
iptables?-A?OUTPUT?-p?tcp?--sport?22?-j?ACCEPT
指定 IP 訪問(wèn)22號(hào)端口。
iptables?-I?INPUT?-s?192.168.1.1?-p?tcp?--dport?22?-j?ACCEPT
說(shuō)明: 192.168.1.1 為請(qǐng)求端 IP 地址。
使用 iptables -L 查看一下添加的規(guī)則是否生效。
iptables?-L
保存添加的規(guī)則。
iptables-save?>?/etc/sysconfig/iptables
設(shè)置后需要重啟iptables。
service?iptables?restart?或?/etc/init.d/iptables?restart
操作完成后,重啟服務(wù)器進(jìn)行配置驗(yàn)證。
systemctl?reboot
完成操作后,請(qǐng)?jiān)龠M(jìn)行 SSH 連接。
4. 安全組公網(wǎng)規(guī)則 [出現(xiàn)概率:8%]
故障現(xiàn)象:ECS 服務(wù)器無(wú)法ping通,排查iptables、網(wǎng)卡IP配置無(wú)誤,回滾系統(tǒng)后仍然無(wú)法ping通。
可能原因:ECS 實(shí)例安全組默認(rèn)的公網(wǎng)規(guī)則被刪除。
解決方法:重新配置 ECS 實(shí)例的安全組公網(wǎng)規(guī)則,具體操作詳見(jiàn) ECS實(shí)例安全組默認(rèn)的公網(wǎng)規(guī)則被刪除導(dǎo)致無(wú)法ping通。
5. 遠(yuǎn)程訪問(wèn)端口配置異常 [出現(xiàn)概率:10%]
故障現(xiàn)象:SSH 遠(yuǎn)程無(wú)法連接,遠(yuǎn)程訪問(wèn)端口非默認(rèn)端口。
可能原因:更改了遠(yuǎn)程訪問(wèn)端口配置,有可能防火墻未對(duì)自定義端口放開(kāi)。
解決方法:客戶端無(wú)法正常登錄時(shí),建議先使用不同的 SSH 客戶端基于相同賬戶信息進(jìn)行登錄測(cè)試。如能正常登錄,則判斷是客戶端配置問(wèn)題,需對(duì)客戶端配置做排查分析。
使用 telnet 測(cè)試現(xiàn)有監(jiān)聽(tīng)端口連通性。使用 Linux 自帶的 telnet 工具測(cè)試現(xiàn)有端口的連通性。
telnet?<host>?<port> #?host?是目標(biāo)服務(wù)器?IP,port是待測(cè)試端口號(hào)</port></host>
修改或查看Linux遠(yuǎn)程端口:
vi?/etc/ssh/sshd_config
找到 #port 22 這一行,默認(rèn)端口為 22,可以把前面的#刪除,把 22 改為其它的端口。
重啟SSH服務(wù):
/etc/init.d/sshd?restart?或?service?sshd?restart
創(chuàng)建新的監(jiān)聽(tīng)端口測(cè)試。
可以使用 python 自帶的 Web 服務(wù)器用于臨時(shí)創(chuàng)建新的監(jiān)聽(tīng)端口進(jìn)行測(cè)試。
python?-m?SimpleHTTPServer?
說(shuō)明:
您可以通過(guò)自動(dòng)測(cè)試默認(rèn)端口來(lái)檢測(cè)遠(yuǎn)程訪問(wèn)端口的問(wèn)題。
服務(wù)監(jiān)聽(tīng)能使用的端口范圍為 0~65535,錯(cuò)誤配置監(jiān)聽(tīng)端口會(huì)導(dǎo)致遠(yuǎn)程桌面服務(wù)監(jiān)聽(tīng)失敗。
6. CPU 負(fù)載過(guò)高 [出現(xiàn)概率:9%]
故障現(xiàn)象:CPU 負(fù)載過(guò)高導(dǎo)致系統(tǒng)無(wú)法進(jìn)行遠(yuǎn)程連接。
解決方法:您無(wú)法主動(dòng)監(jiān)控系統(tǒng)內(nèi)部的程序運(yùn)行狀態(tài),可以借助 云監(jiān)控 > 主機(jī)監(jiān)控 > 進(jìn)程監(jiān)控 來(lái)實(shí)現(xiàn)。
查看應(yīng)用運(yùn)行情況,排除 CPU 負(fù)載過(guò)高的原因。查看 CPU 負(fù)載問(wèn)題詳見(jiàn) 云服務(wù)器 ECS Linux 系統(tǒng) CPU 占用率較高問(wèn)題排查思路。
注意:在某個(gè)時(shí)間段 CPU 負(fù)載過(guò)高可能導(dǎo)致遠(yuǎn)程連接失敗,建議您查詢是否程序或者實(shí)例資源不滿足現(xiàn)有要求。
最后嘗試重啟實(shí)例
若用阿里云提供的遠(yuǎn)程連接功能仍無(wú)法成功連接實(shí)例,請(qǐng)嘗試重啟實(shí)例。重啟操作會(huì)使實(shí)例停止工作,從而中斷業(yè)務(wù),請(qǐng)謹(jǐn)慎執(zhí)行。
注意:重啟實(shí)例前,需對(duì)實(shí)例創(chuàng)建快照,用于數(shù)據(jù)備份或者制作鏡像。創(chuàng)建快照的方法詳見(jiàn):創(chuàng)建快照。
在控制臺(tái)重啟實(shí)例。重啟實(shí)例后,請(qǐng)?jiān)俅螄L試實(shí)例連接。