天天看點

解決live CD方式啟動Ubuntu系統不能啟動openssh-server服務問題展現: 解決方案:

當直接從Live CD鏡像(例如從U盤)啟動Ubuntu系統時,如果想要安裝sshd服務,那麼需要安裝openssh-server軟體包,如果用apt-get install的方式安裝不了就換用aptitude安裝,安裝成功後卻發現啟動不了ssh服務,如下所示:

問題展現:

Preconfiguring packages ...
Selecting previously unselected package openssh-server.
(Reading database ... 154905 files and directories currently installed.)
Unpacking openssh-server (from .../openssh-server_1%3a6.0p1-1ubuntu1_i386.deb) ...
Selecting previously unselected package ssh-import-id.
Unpacking ssh-import-id (from .../ssh-import-id_2.12-0ubuntu1_all.deb) ...
Processing triggers for ureadahead ...
Processing triggers for ufw ...
Processing triggers for man-db ...
Setting up openssh-server (1:6.0p1-1ubuntu1) ...
Creating SSH2 RSA key; this may take some time ...
Creating SSH2 DSA key; this may take some time ...
Creating SSH2 ECDSA key; this may take some time ...
initctl: Unknown job: ssh
start: Unknown job: ssh
Setting up ssh-import-id (2.12-0ubuntu1) ...

Trying to start it manually produces the same result:

[email protected]:~$ sudo start ssh
start: Unknown job: ssh
[email protected]:~$ sudo /etc/init.d/ssh start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service ssh start
initctl: Unknown job: ssh

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start ssh
      

解決方案:

這應該算是Ubuntu的一個bug,可以用下面的方法解決:

[email protected]:~$ sudo /usr/sbin/sshd
Missing privilege separation directory: /var/run/sshd
[email protected]:~$ sudo mkdir /var/run/sshd
[email protected]:~$ sudo /usr/sbin/sshd
[email protected]:~$ netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN      

啟動端口22表示ssh服務成功啟動,可以使用ssh localhost測試下。

參考資料:openssh-server package does not start sshd on a live CD boot

繼續閱讀