本文主要介紹sshd配置錯誤導致無法遠端連線ECS執行個體的原因以及解決方案。
問題現象
修改sshd設定檔後直接重啟了執行個體,無法使用Workbench或第三方遠端連線工具(例如PuTTY、Xshell、SecureCRT等)串連執行個體。
問題原因
/etc/ssh/sshd_config檔案配置錯誤,導致SSH服務啟動失敗,造成無法通過基於SSH協議的遠程登入方式串連ECS執行個體。
解決方案
通過VNC的方式遠端連線ECS執行個體,檢查並確認sshd配置的錯誤,修正後重啟sshd服務。
以VNC方式遠端連線ECS執行個體。
具體操作,請參見使用VNC登入執行個體。
執行以下命令,尋找sshd所在路徑。
which sshd返回如下,表示sshd所在路徑為
/usr/sbin/sshd。
執行以下命令,以測試模式運行sshd,檢查sshd配置是否正確。
重要每次修改完sshd配置後,建議您在重啟執行個體之前,先通過以下命令檢查配置是否正確,這樣可以有效避免出現本文描述的問題。
sudo /usr/sbin/sshd -t無返回資訊時,說明sshd配置正確。
有返回資訊時,說明sshd配置錯誤。如下所示,說明
/etc/ssh/sshd_config設定檔第144行的配置參數值被設定為不支援的"no1",需要修改。
修改sshd設定檔/etc/ssh/sshd_config。
開啟
/etc/ssh/sshd_config設定檔。sudo vim /etc/ssh/sshd_config按
i進入編輯模式,按照錯誤提示定位到錯誤行並修正。例如,修改第144行的配置,將UseDNS的值修改為no。UseDNS no按
Esc鍵,輸入:wq!,儲存並退出編輯。
再次執行
sudo /usr/sbin/sshd -t,確認配置是否已經修正。如下所示,無返回資訊,表示錯誤已修正。
重啟sshd服務,使配置修改生效。
sudo systemctl restart sshd.service說明如果您執行systemctl命令遇到錯誤,可參見在Linux執行個體中執行systemctl命令報錯怎麼辦?