2012-09-07 30 views
2

我無法讓openssh服務器在Windows Server 2008上工作。我讓它在兩臺其他服務器上工作,但其中一臺服務器無法正常工作。Cygwin Openssh無法看到/ etc/sshd_config

我運行ssh-host-config,並選擇特權分離。創建兩個用戶sshdsshd_server

然後我跑net start sshd,我看到:

The CYGWIN sshd service is starting. 
The CYGWIN sshd service could not be started. 

The service did not report an error. 

然後我跑cat /var/log/sshd.log,我看到這樣的輸出:

/etc/sshd_config: No such file or directory 

我再檢查/etc/sshd_config權限:

-rw-r--r-- 1 sshd_server root 3344 Sep 7 09:15 /etc/sshd_config 

所以現在看來​​sshd看不到一個文件在那裏,擁有正確的權限。即使在Windows上,該文件歸sshd_server所有。

+0

我有同樣的問題。它在Windows 8上運行了幾個星期,但現在在重新啓動之後,它不再適用於此處所述的相同問題。 – tomsv

回答

1

也發生過這種情況。 一個Procmon會話告訴我,sshd服務試圖在根目錄c:\ etc中找到/ etc而不是c:\ cygwin \ etc。

進一步的調查顯示,sshd加載了一個不正確的cygwin1.dll,它居住在我的系統PATH環境變量中。

解決方案是要刪除壞cygwin1.dll或從系統變量中刪除「壞」路徑並將該路徑分配給用戶特定的環境變量。

然後在沒有這個「壞」路徑的專用用戶下運行sshd守護進程,因爲它應該如此。

謝謝馬克