雲伺服器無法遠端連線?4步排查,準能解決!
在運維工程師的日常工作中,經常需要登入到伺服器上對應用部署和維護,配置修改是很常規操作。但是在日常運維工作中,經常也會遭遇“滑鐵盧”,當出現無法遠端連線伺服器的時候,我們需要沉著冷靜,耐心分析報錯的癥結,方能更好的定位和排除問題。
今天百曉生就阿里雲伺服器ECS無法遠端連線的問題,分享一波運維必備的問題排查方法,認同小編的童鞋,文末【點贊+再看】哦~
說明:以下操作在CentOS 6.5 64位作業系統中進行過測試
檢查CPU負載、頻寬及記憶體使用情況
確認是否存在CPU負載過高的情況
- 如果在某個時間段CPU負載過高,可能導致遠端連線失敗,建議您查詢程式或者例項資源是否不滿足現有要求。
- 如果不存在CPU負載過高的情況,則繼續下一步檢查。
確認公網頻寬是否不足
無法遠端連線可能是公網頻寬不足導致的,具體排查方法如下:
- 登入ECS管理控制檯。
- 找到該例項, 單擊管理進入例項詳情頁面,檢視網路監控資料。
- 檢查伺服器頻寬是否為“1k”或“0k”。如果購買例項時沒有購買公網頻寬,後來升級了公網頻寬,續費的時候沒有選擇續費頻寬,頻寬就會變成“1k”。
確認記憶體是否不足
遠端連線輸入使用者密碼登入後,不能正常顯示桌面直接退出,也沒有錯誤資訊。這種情況可能是伺服器記憶體不足導致的,需要檢視一下伺服器的記憶體使用情況。具體操作如下:
- 使用控制檯遠端連線功能登入到Linux例項。
- 檢視記憶體使用情況,確認記憶體不足後,再進行處理。
客戶端排查
客戶端無法正常登入時,先使用不同的SSH客戶端基於相同賬戶資訊進行登入測試。如果能正常登入,則判斷是客戶端配置問題,需要對客戶端配置或軟體執行情況做排查分析。關於如何使用SSH客戶端登入Linux例項,您可以參見遠端連線Linux例項。
步驟一:使用管理終端登入例項
無論何種原因導致無法遠端連線例項,請先嚐試用阿里雲提供的遠端連線功能進行連線,確認例項還有響應,沒有完全宕機,然後再按原因分類進行故障排查。
- 錄雲伺服器管理控制檯,單擊左側導航欄中的例項,然後在目標例項右側單擊遠端連線。
- 在首次連線或忘記連線密碼時,單擊修改遠端連線密碼,修改遠端連線的密碼。
- 然後通過遠端連線密碼連線例項。
步驟二:檢查客戶端本地網路是否異常
確認是否存在使用者本地無法連線外網的故障。
- 如果存在,則檢查網絡卡驅動,如果存在異常,則重新安裝。使用管理終端登入例項,檢視/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例項的安全組公網規則。如果不存在,則繼續下一步驟檢查。
關注百曉生,笑談雲端計算