Debian

即使通過 ssh 連接,sshd 也處於非活動狀態(當機)

  • December 24, 2021

我正在執行一個帶有 Debian 11 的 VPS。

我注意到,systemctl status ssh說 ssh 守護程序是incative (dead). 我研究了很長時間,發現 ssh 使用了一種叫做“套接字啟動”的東西(https://github.com/clearlinux/distribution/issues/72)。這可能解釋了為什麼 systemd 監聽埠 22:

# lsof -i -P -n  | grep LISTEN | grep :22
systemd      1            root   46u  IPv6 32257361      0t0  TCP *:22 (LISTEN)

但是,據我了解,當我通過 ssh 連接時,該服務至少應該顯示為活動狀態,對吧?它沒有。

此外,您如何systemctl不接受任何重新載入請求而只響應ssh.service is not active, cannot reload. 另外,我該如何停止服務呢?

我最大的問題是,當我執行systemctl start ssh服務時,它會啟動並標記為active (running). 但是,當我現在註銷並嘗試通過 ssh 重新登錄時,它會告訴我Connection reset by 46.*.*.* port 22

感謝您對理解這一點的任何幫助。

更新:通過 VNC 訪問我的 VPS 後,我發現我的 ssh 服務失敗,因為沒有/run/sshd目錄。# mkdir /run/sshd解決了這個問題。

有一個單獨的.socketsystemd 單元負責 SSH。似乎不再推薦以這種方式處理 SSH,並且 sid 中​​的包已恢復為通常的.service單元守護程序。

要手動執行此操作,只需.socket在啟用該單元之前禁用/屏蔽該.service單元。

引用自:https://unix.stackexchange.com/questions/683696