首页 > 代码库 > 解决live CD方式启动Ubuntu系统不能启动openssh-server服务

解决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: sshstart: Unknown job: sshSetting up ssh-import-id (2.12-0ubuntu1) ...

Trying to start it manually produces the same result:

ubuntu@ubuntu:~$ sudo start sshstart: Unknown job: sshubuntu@ubuntu:~$ sudo /etc/init.d/ssh startRather than invoking init scripts through /etc/init.d, use the service(8)utility, e.g. service ssh startinitctl: Unknown job: ssh

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


解决方案:

这应该算是Ubuntu的一个bug,可以用下面的方法解决:

ubuntu@ubuntu:~$ sudo /usr/sbin/sshdMissing privilege separation directory: /var/run/sshdubuntu@ubuntu:~$ sudo mkdir /var/run/sshdubuntu@ubuntu:~$ sudo /usr/sbin/sshdubuntu@ubuntu:~$ netstat -nltActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 127.0.0.1:53 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:631 0.0.0.0:* LISTENtcp6 0 0 :::22 :::* LISTEN
启动端口22表示ssh服务成功启动,可以使用ssh localhost测试下。


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