無法連接Linux實(shí)例的排查方法
本文主要介紹無法遠(yuǎn)程登錄Linux實(shí)例的排查方法。
問題原因
下圖為SSH遠(yuǎn)程登錄的關(guān)聯(lián)因素示意圖,由此可見,SSH遠(yuǎn)程登錄失敗的可能原因較多。如PAM安全框架、安全組、SSH配置等。請(qǐng)您根據(jù)實(shí)際情況,通過相應(yīng)的排查方法,排查并解決無法遠(yuǎn)程連接Linux實(shí)例的問題。
快速登錄Linux實(shí)例
如果您遇到緊急情況,需要盡快登錄Linux實(shí)例,請(qǐng)參見以下操作步驟,先檢查ECS實(shí)例的狀態(tài),然后通過云助手向Linux實(shí)例發(fā)送命令或通過VNC登錄實(shí)例,具體步驟如下:
步驟一:檢查ECS實(shí)例狀態(tài)
無論何種原因?qū)е聼o法遠(yuǎn)程登錄ECS實(shí)例,請(qǐng)先檢查實(shí)例的狀態(tài)。只有當(dāng)ECS實(shí)例為運(yùn)行中狀態(tài)時(shí),才能對(duì)外提供業(yè)務(wù)訪問。檢查步驟如下:
在左側(cè)導(dǎo)航欄,選擇 。
在頁面左側(cè)頂部,選擇目標(biāo)資源所在的資源組和地域。
步驟二:通過VNC登錄ECS實(shí)例
如果云助手無法使用或者無法滿足您的使用需求,您還可以通過阿里云VNC工具進(jìn)行遠(yuǎn)程登錄,使用方法如下:
在左側(cè)導(dǎo)航欄,選擇 。
在頁面左側(cè)頂部,選擇目標(biāo)資源所在的資源組和地域。
在實(shí)例列表頁面,找到需要連接的實(shí)例,在操作列中,單擊遠(yuǎn)程連接。
在彈出的遠(yuǎn)程連接對(duì)話框中,單擊展開其他登錄方式,然后單擊通過VNC遠(yuǎn)程連接對(duì)應(yīng)的立即登錄。
登錄實(shí)例操作系統(tǒng)。
輸入登錄用戶(例如root、ecs-user),然后按
Enter
鍵。輸入實(shí)例登錄密碼,然后按
Enter
鍵。說明登錄Linux實(shí)例時(shí)界面不會(huì)顯示密碼的輸入過程,請(qǐng)您確保輸入的密碼正確。
步驟三:通過云助手向Linux實(shí)例發(fā)送命令
您可以嘗試通過阿里云云助手向Linux實(shí)例發(fā)送命令,云助手的使用步驟如下:
在左側(cè)導(dǎo)航欄,選擇 。
在頁面左側(cè)頂部,選擇目標(biāo)資源所在的資源組和地域。
輸入您需要執(zhí)行的命令,單擊執(zhí)行,即可在未登錄Linux實(shí)例的情況下執(zhí)行命令。
更多有關(guān)云助手的信息,請(qǐng)參見云助手概述。
沒有明確的報(bào)錯(cuò)信息
在遠(yuǎn)程連接失敗時(shí),如果您沒有收到系統(tǒng)返回的報(bào)錯(cuò)信息,并且ECS實(shí)例是運(yùn)行中狀態(tài),然后再根據(jù)以下步驟進(jìn)行排查:
步驟一:使用阿里云Workbench工具測試遠(yuǎn)程登錄
通過阿里云提供的Workbench工具進(jìn)行遠(yuǎn)程登錄,Workbench工具在遠(yuǎn)程登錄出現(xiàn)異常時(shí)會(huì)返回具體的錯(cuò)誤信息及解決方案。測試步驟如下:
在左側(cè)導(dǎo)航欄,選擇 。
在頁面左側(cè)頂部,選擇目標(biāo)資源所在的資源組和地域。
在實(shí)例列表頁面,找到需要連接的實(shí)例,單擊對(duì)應(yīng)操作列下的遠(yuǎn)程連接。
在彈出的遠(yuǎn)程連接對(duì)話框中,單擊通過Workbench遠(yuǎn)程連接對(duì)應(yīng)的立即登錄。
測試是否可以遠(yuǎn)程登錄。
Workbench工具將自動(dòng)填充登錄目標(biāo)實(shí)例所需的基本信息,請(qǐng)確認(rèn)基本信息的正確性并輸入登錄的用戶名和認(rèn)證信息。并根據(jù)以下結(jié)果進(jìn)行處理:通過Workbench遠(yuǎn)程登錄Linux實(shí)例的具體操作,請(qǐng)參見通過Workbench遠(yuǎn)程登錄Linux實(shí)例。
如仍然無法登錄,Workbench工具會(huì)返回錯(cuò)誤提示和解決方案,請(qǐng)根據(jù)系統(tǒng)提示進(jìn)行處理。處理完畢后重新使用Workbench工具進(jìn)行遠(yuǎn)程登錄測試。為了便于您解決問題,列舉Workbench工具使用時(shí)常見的異常問題: Workbench遠(yuǎn)程連接問題(Linux)
如可以通過Workbench工具正常登錄,說明目標(biāo)實(shí)例上的SSH服務(wù)正常運(yùn)行,即排除SSH服務(wù)端異常的可能性,繼續(xù)執(zhí)行步驟二:檢查網(wǎng)絡(luò)進(jìn)行排查。
步驟二:檢查網(wǎng)絡(luò)
無法正常遠(yuǎn)程連接Linux實(shí)例時(shí),需要先檢查網(wǎng)絡(luò)是否正常。
用其他網(wǎng)絡(luò)環(huán)境中,不同網(wǎng)段或不同運(yùn)營商的電腦連接對(duì)比測試,判斷是本地網(wǎng)絡(luò)問題還是服務(wù)器端的問題。
如果是本地網(wǎng)絡(luò)問題或運(yùn)營商問題,請(qǐng)聯(lián)系本地IT人員或運(yùn)營商解決。
如果是網(wǎng)卡驅(qū)動(dòng)存在異常,請(qǐng)重新安裝。
在本地客戶端使用ping命令測試與實(shí)例的網(wǎng)絡(luò)連通性。
網(wǎng)絡(luò)異常時(shí),請(qǐng)進(jìn)行抓取數(shù)據(jù)包進(jìn)行分析,具體操作,請(qǐng)參見網(wǎng)絡(luò)異常時(shí)如何抓取數(shù)據(jù)包。
當(dāng)出現(xiàn)ping丟包或ping不通時(shí),可以通過
tracert
或mtr
等工具進(jìn)行鏈路測試來判斷問題根源。具體操作,請(qǐng)參見使用ping命令丟包或不通時(shí)的鏈路測試方法。如果出現(xiàn)間歇性丟包,ECS實(shí)例的網(wǎng)絡(luò)一直處于不穩(wěn)定狀態(tài)時(shí),可能是病毒導(dǎo)致。具體操作,請(qǐng)參見使用ping命令測試ECS實(shí)例的IP地址間歇性丟包
系統(tǒng)內(nèi)核沒有禁ping的情況下,使用ping命令測試ECS服務(wù)器,發(fā)現(xiàn)網(wǎng)絡(luò)不通,可能是服務(wù)器系統(tǒng)內(nèi)部防火墻對(duì)客戶端進(jìn)行了drop策略。
具體操作,請(qǐng)參見Linux系統(tǒng)的ECS中沒有禁ping卻ping不通的解決方法。
步驟三:檢查端口和安全組
檢查安全組配置是否允許遠(yuǎn)程連接的端口。
在左側(cè)導(dǎo)航欄,選擇 。
在頁面左側(cè)頂部,選擇目標(biāo)資源所在的資源組和地域。
在實(shí)例列表頁面,單擊對(duì)應(yīng)的實(shí)例ID。
在安全組頁簽下,單擊安全組操作列的管理規(guī)則。
在安全組規(guī)則頁面,您可以選擇以下任意一種方式添加安全組規(guī)則,具體操作,請(qǐng)參見添加安全組規(guī)則。
方式一:快速添加安全組規(guī)則
授權(quán)策略:允許
端口范圍:SSH(22)
授權(quán)對(duì)象:0.0.0.0/0(代表所有IP訪問)
方式二:手動(dòng)添加安全組規(guī)則
授權(quán)策略:允許
優(yōu)先級(jí):1(代表安全規(guī)則中優(yōu)先級(jí)最高,數(shù)字越小優(yōu)先級(jí)越高)
協(xié)議類型:自定義(TCP)
端口范圍:SSH(22)
授權(quán)對(duì)象:0.0.0.0/0(代表所有IP訪問,也可根據(jù)需要,自定義設(shè)置授權(quán)對(duì)象)
使用以下命令,進(jìn)行端口測試,判斷端口是否正常。
telnet [$IP] [$Port]
說明[$IP]指Linux實(shí)例的IP地址。
[$Port]指Linux實(shí)例的RDP端口號(hào)。
系統(tǒng)顯示類似如下,比如執(zhí)行
telnet 192.168.0.1 22
命令,正常情況下返回結(jié)果類似如下。Trying 192.168.0.1 ... Connected to 192.168.0.1. Escape character is '^]'
如果端口測試失敗,請(qǐng)參見使用ping命令正常但端口不通時(shí)的端口可用性探測說明進(jìn)行排查。
步驟四:檢查CPU負(fù)載、帶寬及內(nèi)存使用情況
無法正常遠(yuǎn)程連接Linux實(shí)例時(shí),可能是因?yàn)镃PU負(fù)載、帶寬不足或內(nèi)存不足導(dǎo)致。
根據(jù)是否存在CPU負(fù)載過高情況,選擇相應(yīng)操作。
存在CPU負(fù)載過高情況。
若應(yīng)用程序有大量的磁盤訪問、網(wǎng)絡(luò)訪問行為、高計(jì)算需求,CPU負(fù)載過高是正常結(jié)果。建議您升配實(shí)例規(guī)格來解決資源瓶頸問題,具體操作,請(qǐng)參見升降配方式概述。
說明CPU負(fù)載過高的解決方法,請(qǐng)參見Linux系統(tǒng)CPU負(fù)載的查詢和案例分析。
不存在CPU負(fù)載過高情況,請(qǐng)繼續(xù)下一步排查。
排查是否存在公網(wǎng)帶寬不足問題。
無法遠(yuǎn)程連接可能是公網(wǎng)帶寬不足導(dǎo)致的,具體排查方法如下。
在左側(cè)導(dǎo)航欄,選擇 。
在頁面左側(cè)頂部,選擇目標(biāo)資源所在的資源組和地域。
在實(shí)例列表頁面,單擊對(duì)應(yīng)的實(shí)例ID,在配置信息區(qū)域,查看公網(wǎng)帶寬。
如果服務(wù)器帶寬為0 Mbps,說明購買實(shí)例時(shí)沒有購買公網(wǎng)帶寬,您可以通過升級(jí)帶寬解決,具體操作,請(qǐng)參見修改公網(wǎng)帶寬峰值。
排查是否存在內(nèi)存不足問題。
遠(yuǎn)程連接Linux實(shí)例后,不能正常顯示桌面并直接退出,也沒有錯(cuò)誤信息提示。這種情況可能是服務(wù)器內(nèi)存不足導(dǎo)致,需要檢查服務(wù)器的內(nèi)存使用情況。具體操作如下。
使用VNC方式登錄Linux實(shí)例。
具體操作,請(qǐng)參見通過密碼認(rèn)證登錄Linux實(shí)例。
查看內(nèi)存使用情況,如果存在內(nèi)存不足情況,建議您升配實(shí)例規(guī)格來解決資源瓶頸問題,具體操作,請(qǐng)參見升降配方式概述。
存在明確的報(bào)錯(cuò)信息
遠(yuǎn)程登錄失敗時(shí),系統(tǒng)通常會(huì)返回報(bào)錯(cuò)信息。您可以根據(jù)報(bào)錯(cuò)信息,快速定位問題原因及解決方案。
PAM安全框架
Linux系統(tǒng)的PAM安全框架可以加載相關(guān)安全模塊,對(duì)云服務(wù)器的賬戶策略、登錄策略等進(jìn)行訪問控制。如果相關(guān)配置存在異常,或觸發(fā)了相關(guān)策略,就可能會(huì)導(dǎo)致SSH登錄失敗。根據(jù)不同報(bào)錯(cuò)信息,可參見如下常見案例進(jìn)行解決:
Linux實(shí)例系統(tǒng)環(huán)境配置
Linux內(nèi)的系統(tǒng)環(huán)境,例如中毒、賬戶配置、環(huán)境變量配置等,如果出現(xiàn)異常,也可能會(huì)導(dǎo)致SSH登錄失敗。根據(jù)不同報(bào)錯(cuò)信息,可參見如下常見案例進(jìn)行解決:
SSH服務(wù)及參數(shù)配置
SSH服務(wù)的默認(rèn)配置文件為/etc/ssh/sshd_config
。配置文件中的相關(guān)參數(shù)配置異常,或啟用了相關(guān)特性或策略,也可能會(huì)導(dǎo)致SSH登錄失敗。根據(jù)不同報(bào)錯(cuò)信息,可參見如下常見案例進(jìn)行解決:
SSH登錄Linux實(shí)例時(shí)出現(xiàn)"Disconnected:No supported authentication methods available"錯(cuò)誤
使用SSH命令登錄Linux實(shí)例時(shí)出現(xiàn)“User root not allowed because not listed in”錯(cuò)誤
使用root用戶通過SSH登錄Linux實(shí)例時(shí)報(bào)“Permission denied, please try again”的錯(cuò)誤
使用SSH登錄實(shí)例時(shí)出現(xiàn)“Too many authentication failures for root”錯(cuò)誤
啟動(dòng)SSH服務(wù)時(shí)出現(xiàn)“error while loading shared libraries”錯(cuò)誤
在Linux系統(tǒng)的ECS實(shí)例中SSH服務(wù)啟動(dòng)時(shí)出現(xiàn)如下錯(cuò)誤“fatal: Cannot bind any address”
啟動(dòng)SSH服務(wù)時(shí)出現(xiàn)“Bad configuration options”錯(cuò)誤
SSH服務(wù)關(guān)聯(lián)目錄或文件配置
SSH服務(wù)基于安全性考慮,在運(yùn)行時(shí),會(huì)對(duì)相關(guān)目錄或文件的權(quán)限配置、屬組等進(jìn)行檢查。過高或過低的權(quán)限配置,都可能會(huì)引發(fā)服務(wù)運(yùn)行異常,進(jìn)而導(dǎo)致客戶端登錄失敗。根據(jù)不同報(bào)錯(cuò)信息,可參見如下常見案例進(jìn)行解決:
SSH服務(wù)密鑰配置
SSH服務(wù)采用非對(duì)稱加密技術(shù),對(duì)所傳輸?shù)臄?shù)據(jù)進(jìn)行加密??蛻舳思胺?wù)端會(huì)交換和校驗(yàn)相關(guān)密鑰信息的有效性。根據(jù)不同報(bào)錯(cuò)信息,可參見如下常見案例進(jìn)行解決:
使用SSH登錄ECS實(shí)例時(shí)提示“Host key verification failed”錯(cuò)誤