我正在使用 cygwin 運行 sshd。但現在 sshd 沒有作為服務運作。當我使用“net start sshd”啟動服務時,訊息如下:“無法啟動 cygwin sshd 服務。該服務未報告錯誤。通過鍵入 NET HELPMSG 3534 可以獲得更多幫助”並且如果使用“cygrunsrv”運行-S sshd'錯誤類似於“啟動服務時出錯。查詢服務狀態:win32 錯誤1062”
我透過刪除其服務、伺服器和註冊表來完全刪除 cygwin。並再次安裝,但 sshd 沒有作為服務運行。
我可以解決這個問題嗎?
答案1
啟動服務時發生錯誤。查詢服務狀態:win32錯誤1062
有時,您在嘗試執行服務後會收到 sshd/cygrunsrv 服務錯誤。
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
造成這種情況的原因可能有幾個。以下方法可能會解決該問題(XP Home 上沒有此選項)。
解決方案1。
您可能安裝了舊的或損壞的 Cygwin。嘗試重新安裝。
以下內容也可能有幫助:
cygrunsrv -R sshd
- 重新啟動(或使用任務管理器終止所有可能在背景執行的 sshd 的執行個體)
- 再次運行
ssh-host-config -y
。這似乎對我工作過的一些系統有幫助。
解決方案2。
開啟資源管理器視窗並使用「屬性 | 安全性」對話框,並將 SYSTEM 使用者的「完全控制」明確新增至下列目錄:
C:\Cygwin C:\Cygwin\var C:\Cygwin\var\log
另請參閱 StackOverflow 問題無法啟動 cygwin sshd 服務
進一步閱讀
答案2
檢查/var/log/sshd.log
sshd
抱怨/var/empty
現在由 root(在 Windows 上稱為“SYSTEM”)擁有。解決方案是在管理 Cygwin shell 中更改擁有者:
chown SYSTEM /var/empty