顯示"無法啟動OpenSSH伺服器精靈"錯誤時怎麼辦
問題現象
Linux系統的ECS執行個體中,SSH服務(sshd.service)無法啟動。執行systemctl status sshd.service查看SSH服務,顯示錯誤"Failed to start OpenSSh server daemon"。
sshd status
問題原因
此問題可能由SSH服務連接埠(22)被佔用導致。
解決方案
可通過修改佔用連接埠22的服務的連接埠號碼,或根據業務需要修改SSH服務連接埠來解決此問題。
1. 通過VNC遠端連線ECS執行個體。
2. 執行以下命令,以測試模式運行SSH服務。
/sbin/sshd -d
顯示資訊如下,表示連接埠22被佔用,SSH服務無法啟動。
3. 執行以下命令,檢查連接埠22的使用方式。
ss -tunlp | grep 22
顯示資訊如下,表示連接埠22被Nginx服務佔用。
重要 本文中以Nginx服務佔用連接埠22為例,請以實際情況為準。
Ngnix takes 22
4. 可根據需要選擇合適的方式解決此問題。
4.1 修改Nginx服務連接埠號碼。
執行以下命令,開啟nginx.conf設定檔。
vim /etc/nginx/nginx.conf
將Nginx佔用的連接埠號碼修改為80。
Modify the port occupied by Ngnix
按Esc鍵後,輸入:wq並按Enter鍵,儲存並關閉設定檔。
執行以下命令,重啟Nginx服務。
systemctl restart nginx
執行以下命令,重啟SSH服務。
systemctl restart sshd.service
4.2 修改SSH服務連接埠號碼。
執行以下命令,開啟sshd_config設定檔。
vim /etc/ssh/sshd_config
將SSH服務的連接埠號碼修改為2222。
Modify the port occupied by SSH
按Esc鍵後,輸入:wq並按Enter鍵,儲存並關閉設定檔。
執行以下命令,重啟SSH服務。
