通過SSH的方式串連執行個體時,需確保執行個體中SSH服務處於啟動狀態,否則無法遠端連線執行個體,本文為您介紹如何排查SSH服務的狀態及如何啟動SSH服務。
問題現象
對於Linux系統的ECS執行個體,使用SSH無法登入,使用VNC登入後,執行systemctl status sshd.service命令查看SSH服務(sshd.service)的狀態。如果狀態返回結果為inactive(dead),表示SSH服務未啟動,這將導致無法使用SSH遠端連線執行個體。
# systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2021-02-01 20:37:28 CST; 1s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 1034 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 1034 (code=exited, status=0/SUCCESS)
問題原因
SSH服務未啟動有很多原因,例如sshd進程未設定開機自啟動、sshd關鍵目錄的owner屬性或group屬組設定錯誤、SSH服務組態檔異常、PATH環境變數配置異常、連接埠被佔用等。
解決方案
-
使用VNC遠端連線ECS執行個體。
具體操作,請參見通過VNC串連執行個體。
-
執行如下命令,查看SSH服務的狀態。
systemctl status sshd.service返回結果為inactive(dead),表示
sshd.service進程未啟動。 -
執行如下命令,啟動SSH服務並設定SSH服務開機時自啟動。
sudo systemctl start sshd.service sudo systemctl enable sshd.service如果啟動中出現具體報錯資訊,您可以根據提示進行修複。常見SSH服務無法啟動問題的解決方案如下: