1. 程式人生 > 實用技巧 >雲伺服器無法遠端連線?4步排查,準能解決!

雲伺服器無法遠端連線?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例項的安全組公網規則。如果不存在,則繼續下一步驟檢查。

關注百曉生,笑談雲端計算