本文目錄
顯示
1.
步驟1:檢查cpu負(fù)載、帶寬及內(nèi)存使用情況
2.
步驟2:客戶(hù)端排查
2.1.
使用管理終端登錄實(shí)例
2.2.
檢查客戶(hù)端本地網(wǎng)絡(luò)是否異常
2.3.
重啟實(shí)例
3.
步驟3:中間網(wǎng)絡(luò)檢查
3.1.
網(wǎng)絡(luò)檢查
3.2.
端口檢查
4.
步驟4:安全組檢查
5.
推薦閱讀
在運(yùn)維工程師的日常工作中,經(jīng)常需要登錄到服務(wù)器上對(duì)應(yīng)用部署和維護(hù),配置修改是很常規(guī)操作。但是在日常運(yùn)維工作中,經(jīng)常也會(huì)遭遇“滑鐵盧”,當(dāng)出現(xiàn)ssh無(wú)法遠(yuǎn)程連接服務(wù)器的時(shí)候,我們需要沉著冷靜,耐心分析報(bào)錯(cuò)的癥結(jié),方能更好的定位和排除問(wèn)題。
今天老劉博客就阿里云服務(wù)器ecs無(wú)法遠(yuǎn)程連接的問(wèn)題,分享一波運(yùn)維必備的問(wèn)題排查方法,說(shuō)明:以下操作在centos 6.5 64位操作系統(tǒng)中進(jìn)行過(guò)測(cè)試。
步驟1:檢查cpu負(fù)載、帶寬及內(nèi)存使用情況
確認(rèn)是否存在cpu負(fù)載過(guò)高的情況
如果在某個(gè)時(shí)間段cpu負(fù)載過(guò)高,可能導(dǎo)致遠(yuǎn)程連接失敗,建議您查詢(xún)程序或者實(shí)例資源是否不滿(mǎn)足現(xiàn)有要求。如果不存在cpu負(fù)載過(guò)高的情況,則繼續(xù)下一步檢查。確認(rèn)公網(wǎng)帶寬是否不足
無(wú)法遠(yuǎn)程連接可能是公網(wǎng)帶寬不足導(dǎo)致的,具體排查方法如下:
登錄ecs管理控制臺(tái)。找到該實(shí)例, 單擊管理進(jìn)入實(shí)例詳情頁(yè)面,查看網(wǎng)絡(luò)監(jiān)控?cái)?shù)據(jù)。檢查服務(wù)器帶寬是否為“1k”或“0k”。如果購(gòu)買(mǎi)實(shí)例時(shí)沒(méi)有購(gòu)買(mǎi)公網(wǎng)帶寬,后來(lái)升級(jí)了公網(wǎng)帶寬,續(xù)費(fèi)的時(shí)候沒(méi)有選擇續(xù)費(fèi)帶寬,帶寬就會(huì)變成“1k”。確認(rèn)內(nèi)存是否不足
遠(yuǎn)程連接輸入用戶(hù)密碼登錄后,不能正常顯示桌面直接退出,也沒(méi)有錯(cuò)誤信息。這種情況可能是服務(wù)器內(nèi)存不足導(dǎo)致的,需要查看一下服務(wù)器的內(nèi)存使用情況。具體操作如下:
使用控制臺(tái)遠(yuǎn)程連接功能登錄到linux實(shí)例。查看內(nèi)存使用情況,確認(rèn)內(nèi)存不足后,再進(jìn)行處理。步驟2:客戶(hù)端排查
客戶(hù)端無(wú)法正常登錄時(shí),先使用不同的ssh客戶(hù)端基于相同賬戶(hù)信息進(jìn)行登錄測(cè)試。如果能正常登錄,則判斷是客戶(hù)端配置問(wèn)題,需要對(duì)客戶(hù)端配置或軟件運(yùn)行情況做排查分析。關(guān)于如何使用ssh客戶(hù)端登錄linux實(shí)例,您可以參見(jiàn)遠(yuǎn)程連接linux實(shí)例。
使用管理終端登錄實(shí)例
無(wú)論何種原因?qū)е聼o(wú)法遠(yuǎn)程連接實(shí)例,請(qǐng)先嘗試用阿里云提供的遠(yuǎn)程連接功能進(jìn)行連接,確認(rèn)實(shí)例還有響應(yīng),沒(méi)有完全宕機(jī),然后再按原因分類(lèi)進(jìn)行故障排查。
錄云服務(wù)器管理控制臺(tái),單擊左側(cè)導(dǎo)航欄中的實(shí)例,然后在目標(biāo)實(shí)例右側(cè)單擊遠(yuǎn)程連接。在首次連接或忘記連接密碼時(shí),單擊修改遠(yuǎn)程連接密碼,修改遠(yuǎn)程連接的密碼。然后通過(guò)遠(yuǎn)程連接密碼連接實(shí)例。檢查客戶(hù)端本地網(wǎng)絡(luò)是否異常
確認(rèn)是否存在用戶(hù)本地?zé)o法連接外網(wǎng)的故障。
如果存在,則檢查網(wǎng)卡驅(qū)動(dòng),如果存在異常,則重新安裝。使用管理終端登錄實(shí)例,查看/etc/hosts.deny文件,查看是否存在攔截ip,如果存在則刪除此ip配置即可。如果不存在,則繼續(xù)下一步檢查。重啟實(shí)例
在確保登錄密碼正確的情況下,確認(rèn)之前是否曾重置過(guò)密碼。檢查重置實(shí)例密碼后是否未重啟實(shí)例,如果存在實(shí)例密碼修改記錄,但無(wú)重啟實(shí)例記錄,則參考以下操作步驟重啟實(shí)例:
登錄ecs管理控制臺(tái),單擊左側(cè)導(dǎo)航欄中的實(shí)例。在頁(yè)面頂部的選擇對(duì)應(yīng)的地域,目標(biāo)實(shí)例右側(cè)單擊更多>實(shí)例狀態(tài)>重啟,再單擊確定即可。步驟3:中間網(wǎng)絡(luò)檢查
中間網(wǎng)絡(luò)包括網(wǎng)絡(luò)檢查和端口檢查。
網(wǎng)絡(luò)檢查
無(wú)法正常遠(yuǎn)程連接linux實(shí)例時(shí),需要先檢查網(wǎng)絡(luò)是否正常。
用其他網(wǎng)絡(luò)環(huán)境中,不同網(wǎng)段或不同運(yùn)營(yíng)商的電腦連接對(duì)比測(cè)試,判斷是本地網(wǎng)絡(luò)問(wèn)題還是服務(wù)器端的問(wèn)題。如果是本地網(wǎng)絡(luò)問(wèn)題或運(yùn)營(yíng)商問(wèn)題,請(qǐng)聯(lián)系本地it人員或運(yùn)營(yíng)商解決。如果是網(wǎng)卡驅(qū)動(dòng)存在異常,則重新安裝。排除本地網(wǎng)絡(luò)故障后進(jìn)行下一步檢查。在客戶(hù)端使用ping命令測(cè)試與實(shí)例的網(wǎng)絡(luò)連通性。網(wǎng)絡(luò)異常時(shí),請(qǐng)參見(jiàn)網(wǎng)絡(luò)異常時(shí)如何抓取數(shù)據(jù)包進(jìn)行排查。當(dāng)出現(xiàn)ping丟包或ping不通時(shí),請(qǐng)參見(jiàn)使用ping命令丟包或不通時(shí)的鏈路測(cè)試方法進(jìn)行排查。如果出現(xiàn)間歇性丟包,ecs實(shí)例的網(wǎng)絡(luò)一直處于不穩(wěn)定狀態(tài)時(shí),請(qǐng)參見(jiàn)使用ping命令測(cè)試ecs實(shí)例的ip地址間歇性丟包進(jìn)行解決。系統(tǒng)內(nèi)核沒(méi)有禁ping的情況下,使用ping命令測(cè)試ecs服務(wù)器,發(fā)現(xiàn)網(wǎng)絡(luò)不通,請(qǐng)參見(jiàn)linux系統(tǒng)的ecs中沒(méi)有禁ping卻ping不通的解決方法。端口檢查
網(wǎng)絡(luò)檢查正常后,進(jìn)一步檢查端口是否正常。
1. 使用管理終端登錄實(shí)例,執(zhí)行如下命令,編輯ssh配置文件
vi /etc/ssh/sshd_config2. 找到“#port 22”所在行,檢查默認(rèn)端口22是否被修改,且前面的“#”是否刪除,如果沒(méi)有刪除,可以把前面的“#”刪除,然后將22改為其它的端口,再保存退出即可。說(shuō)明:服務(wù)監(jiān)聽(tīng)能使用的端口范圍為0到65535,錯(cuò)誤配置監(jiān)聽(tīng)端口會(huì)導(dǎo)致遠(yuǎn)程桌面服務(wù)監(jiān)聽(tīng)失敗
3. 執(zhí)行如下命令,重啟ssh服務(wù)。
/etc/init.d/sshd restart說(shuō)明:也可執(zhí)行service sshd restart命令,重啟ssh服務(wù)。
4. 使用python自帶的web服務(wù)器創(chuàng)建臨時(shí)的監(jiān)聽(tīng)端口進(jìn)行測(cè)試。
python -m simplehttpserver [$port]5. 如果ecs安全組規(guī)則中未放行修改后的端口號(hào),需要將修改后的端口號(hào)添加到ecs安全組規(guī)則中。
說(shuō)明:ecs的安全組規(guī)則中默認(rèn)放行22端口。修改了遠(yuǎn)程桌面的端口后,需要在安全組規(guī)則中放行修改后的端口號(hào)。
6. 通過(guò)上一步獲取的端口,參考如下命令,進(jìn)行端口測(cè)試,判斷端口是否正常。
telnet [$ip] [$port]說(shuō)明:
– [$ip]指linux實(shí)例的ip地址。
– [$port]指linux實(shí)例的ssh端口號(hào)。
系統(tǒng)顯示類(lèi)似如下,例如執(zhí)行telnet 192.168.0.1 22命令,正常情況下,系統(tǒng)會(huì)返回服務(wù)端中ssh的軟件版本號(hào)。
步驟4:安全組檢查
檢查安全組配置,是否允許遠(yuǎn)程連接的端口。
參見(jiàn)查詢(xún)安全組規(guī)則,查看安全組規(guī)則。如果遠(yuǎn)程連接端口沒(méi)有進(jìn)行配置,則參見(jiàn)linux實(shí)例啟用ssh服務(wù)后設(shè)置對(duì)應(yīng)的安全組策略配置。確認(rèn)是否存在無(wú)法ping通ecs實(shí)例,在排除iptables和網(wǎng)卡ip配置問(wèn)題且回滾系統(tǒng)后,仍然無(wú)法ping通??赡苁莈cs實(shí)例安全組默認(rèn)的公網(wǎng)規(guī)則被刪除,則需要重新配置ecs實(shí)例的安全組公網(wǎng)規(guī)則。如果不存在,則繼續(xù)下一步驟檢查。