2013-07-19 38 views
24

我輸入ssh-host-config進入cygwin提示符(以管理員權限啓動),表示是以特權分隔,新建本地帳戶sshd,安裝sshd作爲服務;我沒有輸入CYGWIN守護進程的值;我因爲使用​​不同的名字而輸入了no;是的,用於創建新的特權用戶帳戶。無法啓動cygwin sshd服務

在我services.msc我無法啓動服務:

The CYGWIN sshd service on Local Computer started and then stopped. 
Some services stop automatically if they are not in use by other services 
or programs. 

在Cygwin的提示,net start sshd生產:

The CYGWIN sshd service could not be started. 
The service did not report an error. 
More help is available by typing NET HELPMSG 3534 

在Cygwin的提示,cygrunsrv -S sshd生產:

cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: 
The service has not been started. 

我的/var/log/sshd.log說followi NG:

Unable to initialize device PRN 

我搜索這個問題上的SO相關的問題,以及一般的互聯網,我想是什麼讓我的問題有獨特與sshd.log做。我找不到其他人收到此消息。

我這樣做是爲了在Windows上安裝Hadoop。我無法在這臺慢速計算機上運行虛擬機,因爲所有的事情都陷入了困境。

+0

特權CYGWIN服務我在Windows 7中完全相同的問題,我已經按照不同的鏈接,但問題依然存在。我遵循的一些鏈接是:http://ebiquity.umbc.edu/Tutorials/Hadoop/00%20-%20Intro.html,https://gist.github.com/tariqmislam/2159173。任何人都可以閱讀,提供解決方案。 –

回答

15

我有同樣的問題,這裏是解決方案,爲我工作。

解決方案1 ​​

重新啓動後,您設置的路徑環境變量指向的Cygwin的bin目錄,然後啓動該服務的機器。

解決方案2

  1. 首先添加運行Cygwin的sshd的妖服務管理員組(這是默認設置)

  2. 轉到您的cygwin的安裝文件夾的帳戶(我的是在c:\ cygwin64和你可能會有所不同)

    • 添加管理員組爲完全控制。刪除屬性
    • 您的Cygwin安裝文件夾中刪除只讀所以任何人都可以寫進去
  3. 運行cygwin的終端作爲管理員,並通過鍵入

    cygrunsrv -R sshd 
    
  4. 重新啓動您的系統中刪除服務

  5. 以管理員身份運行cygwin終端,並通過鍵入

    01重新安裝該服務
    ssh-host-config -y 
    
  6. 運行cygwin的終端以管理員身份並啓動該服務通過鍵入

    net start sshd 
    

您的服務就可以運行了!

17

我按照這個主題中的步驟,問題仍然存在,然後我檢查了sshd日誌文件,它抱怨ssh私鑰的特權打開了。

我執行如下命令:

chmod 400 /etc/ssh_host_ecdsa_key 

然後我運行的服務:

net start sshd 

它終於摸索(BTW:我使用Windows 8)

+2

這爲我工作,謝謝。 :D –

+1

謝謝你的回答。這也適用於Windows 8.1。我會提高答案。 – 030

+2

'chmod -v 600/etc/ssh _ * _ key; ls -altr/etc/ssh * key'在我的情況下,有四個。在Cygwin中,關於波蘭語Win 8.1版的一些內容導致rw perms在全球範圍內出現。 'CYGWIN = ntsec' – Marcos

2

隨後的安德里亞解決方案1和解決方案2提供的步驟不起作用。事件查看器沒有提供任何信息。

所以拍了一下日誌無功/日誌/ sshd.log首先它抱怨說,它無法加載DLL:

/usr/sbin/sshd.exe: error while loading shared libraries: cygcrypto-1.0.0.dll 

解決方案:

  • 重新安裝包,並確保該DLL在lib中。
  • 再次啓動服務仍然失敗,但這次它抱怨缺少主機密鑰。

    無法加載主機密鑰:在/ etc/ssh_host_dsa_key 無法加載主機密鑰:在/ etc/ssh_host_ecdsa_key 禁用協議版本2.無法加載主機密鑰 sshd的:無hostkeys可用 - 退出。

解決方案:

  • 去Cygwin的命令提示符(與以管理員身份運行)和
  • 進入ssh-keygen -A
    缺少主機密鑰生成。

最後我能夠開始它。

如果上述解決方案不起作用,我會建議進一步查看日誌文件。

+2

是的! **絕對看看'var/log/sshd.log!'我的錯誤是「特權分離用戶sshd不存在」,所以我再次運行ssh-host-config啓用特權分離:) – Bloke

5

我試過以上的解決方案,但沒有爲我工作。 我正在使用Windows 8,並能夠解決它。 我sshd.log文件說:「特權分離用戶的sshd不存在失敗」

因此,要同時啓動的sshd作爲服務只是按照以下步驟刪除此錯誤:

  1. 編輯文件/ etc/passwd -
    添加「sshd:x:74:74:特權分隔的SSH:/ var/empty/sshd:/ sbin/nologin」。

  2. 編輯文件/ etc/group - 添加「sshd:x:74:」。

現在啓動服務爲 淨啓動sshd

它爲我工作!

+0

你知道這是爲什麼?你是如何發現它的? – EML

+0

編輯(創建acutally)passwd文件爲我解決與(2.7.3)64位版本的Git for Windows一起提供的sshd的問題。 (在使用Cygwin 15年後,我幾個月前放棄了它,贊成Git附帶的實用程序,我根本不會錯過它),我不必編輯/創建組文件。我唯一需要做的另一件事是mkdir/var/empty – wytten

0

在我的情況下(使用波蘭語版本的Windows 8),我不得不手動修改/ etc/passwd和/ etc/group文件。

管理員,管理員,訪客,訪客等的一些行已經丟失,所以我只是插入了他們,並複製了其他非英文版本的所有其他字段。例如。

nano /etc/passwd 

SYSTEM:*:18:544:,S-1-5-18:: 
LocalService:*:19:544:U-NT AUTHORITY\LocalService,S-1-5-19:: 
NetworkService:*:20:544:U-NT AUTHORITY\NetworkService,S-1-5-20:: 
Administrators:*:544:544:,S-1-5-32-544:: 
Administratorzy:*:544:544:,S-1-5-32-544:: 
TrustedInstaller:*:4294967294:4294967294:U-NT SERVICE\TrustedInstaller,S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464:: 
Administrator:unused:500:513:U-gordito\Administrator,S-1-5-21-580982140-4090956935-1935414389-500:/home/Administrator:/bin/bash 
Guest:unused:501:513:U-gordito\Gość,S-1-5-21-580982140-4090956935-1935414389-501:/home/Gość:/bin/bash 
Gość:unused:501:513:U-gordito\Gość,S-1-5-21-580982140-4090956935-1935414389-501:/home/Gość:/bin/bash 
HomeGroupUser$:unused:1004:513:HomeGroupUser$,U-gordito\HomeGroupUser$,S-1-5-21-580982140-4090956935-1935414389-1004:/home/HomeGroupUser$:/bin/bash 
sshd:unused:1006:513:sshd privsep,U-gordito\sshd,S-1-5-21-580982140-4090956935-1935414389-1006:/var/empty:/bin/false 
cyg_server:unused:1007:513:Privileged server,U-gordito\cyg_server,S-1-5-21-580982140-4090956935-1935414389-1007:/var/empty:/bin/false 


nano /etc/group 

root:S-1-5-32-544:0: 
SYSTEM:S-1-5-18:18: 
TrustedInstaller:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464:4294967294: 
Administrators:S-1-5-32-544:544: 
Administratorzy:S-1-5-32-544:544: 
Czytelnicy dzienników zdarzeń:S-1-5-32-573:573: 
Guests:S-1-5-32-546:546: 
Goście:S-1-5-32-546:546: 
IIS_IUSRS:S-1-5-32-568:568: 
Users:S-1-5-32-545:545: 
Users DCOM:S-1-5-32-562:562: 
Użytkownicy:S-1-5-32-545:545: 
Użytkownicy DCOM:S-1-5-32-562:562: 
Użytkownicy dzienników wydajności:S-1-5-32-559:559: 
Użytkownicy monitora wydajności:S-1-5-32-558:558: 
Użytkownicy zarządzania zdalnego:S-1-5-32-580:580: 
HomeUsers:S-1-5-21-580982140-4090956935-1935414389-1003:1003: 
TelnetClients:S-1-5-21-580982140-4090956935-1935414389-1005:1005: 
WinRMRemoteWMIUsers__:S-1-5-21-580982140-4090956935-1935414389-1000:1000: 
None:S-1-5-21-580982140-4090956935-1935414389-513:513: 
Brak:S-1-5-21-580982140-4090956935-1935414389-513:513: 

只有在此之後,我終於能chmod g-rwx所有得罪sshd的,在確認確實爲組和其他的權限下降的方式,「LS香格里拉」的文件。

於是最後,安裝並啓動(sshd的,的cron)

+0

無論如何,我將它視爲Cygwin安裝錯誤。以上是一種解決方法....一旦有人終於知道真正發生了什麼。 – Marcos