全部產品
Search
文件中心

:sshd配置錯誤導致無法遠端連線ECS執行個體該如何解決?

更新時間:Aug 20, 2024

本文主要介紹sshd配置錯誤導致無法遠端連線ECS執行個體的原因以及解決方案。

問題現象

修改sshd設定檔後直接重啟了執行個體,無法使用Workbench或第三方遠端連線工具(例如PuTTY、Xshell、SecureCRT等)串連執行個體。

問題原因

/etc/ssh/sshd_config檔案配置錯誤,導致SSH服務啟動失敗,造成無法通過基於SSH協議的遠程登入方式串連ECS執行個體。

解決方案

通過VNC的方式遠端連線ECS執行個體,檢查並確認sshd配置的錯誤,修正後重啟sshd服務。

  1. 以VNC方式遠端連線ECS執行個體。

    具體操作,請參見使用VNC登入執行個體

  2. 執行以下命令,尋找sshd所在路徑。

    which sshd

    返回如下,表示sshd所在路徑為/usr/sbin/sshd

    image

  3. 執行以下命令,以測試模式運行sshd,檢查sshd配置是否正確。

    重要

    每次修改完sshd配置後,建議您在重啟執行個體之前,先通過以下命令檢查配置是否正確,這樣可以有效避免出現本文描述的問題。

    sudo /usr/sbin/sshd -t
    • 無返回資訊時,說明sshd配置正確。

    • 有返回資訊時,說明sshd配置錯誤。如下所示,說明/etc/ssh/sshd_config設定檔第144行的配置參數值被設定為不支援的"no1",需要修改。

      image

  4. 修改sshd設定檔/etc/ssh/sshd_config

    1. 開啟/etc/ssh/sshd_config設定檔。

      sudo vim /etc/ssh/sshd_config
    2. i進入編輯模式,按照錯誤提示定位到錯誤行並修正。例如,修改第144行的配置,將UseDNS的值修改為no。

      UseDNS no
    3. Esc鍵,輸入:wq!,儲存並退出編輯。

  5. 再次執行sudo /usr/sbin/sshd -t,確認配置是否已經修正。如下所示,無返回資訊,表示錯誤已修正。

    image

  6. 重啟sshd服務,使配置修改生效。

    sudo systemctl restart sshd.service
    說明

    如果您執行systemctl命令遇到錯誤,可參見在Linux執行個體中執行systemctl命令報錯怎麼辦?