更新后的SSH问题


9
Setting up openssh-server (1:5.3p1-3ubuntu7) ... 
Creating SSH2 RSA key; this may take some time ... 
Creating SSH2 DSA key; this may take some time ... 
start: Job failed to start

无法初始化ssh,已尝试重新安装。

SSH服务器通过以下方式手动启动 /etc/init.d/ssh start

netstat -nlp 显示TCP端口22上没有运行任何服务


您能否在问题中弄清楚是否尝试过手动启动它,即sudo /etc/init.d/ssh start是否启动了它,并且给出的错误与安装时有所不同?另外,也许您想安装nmap并运行nmap 127.0.0.1以查看是否已经有ssh实例正在运行,并将结果放入您的问题中。
2011年

我尝试手动运行它,并且得到了同样的东西
Frielspak 2011年

尝试再次手动启动ssh守护程序,然后打开/var/log/auth并在文件底部检查日志显示的内容...
Pavlos G.11.22.11,10

Answers:


16

不确定我的解决方案是否正确。但是,如果您只想启动SSH服务器,然后稍后解决问题,这是我的快速解决方案:

start-stop-daemon --start --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- -p 22

如果这样,您将看到错误:

Missing privilege separation directory: /var/run/sshd

然后只需创建该丢失的目录,然后再次尝试执行上述start-stop-daemon命令:

mkdir /var/run/sshd
chmod 0755 /var/run/sshd

这帮助我启动了sshd守护程序。


1
这仅针对当前会话进行修复。重新启动后,该目录将消失。
Malfist

2
在文件/etc/init/ssh.conf中,在预启动脚本部分中添加以下行:“ mkdir -p -m0755 / var / run / sshd”
achabahe

4

我有同样的问题,sshd由于错误而无法启动。
它表明没有目录/var/run/sshd

ll  /var/run

显示了的链接/run
但是在我的系统上/run运行在ramdisk上。
因此,我删除了链接并创建了目录/var/run/var/run/sshd。现在sshd可以正常启动了,我可以ssh再次访问系统。


1

重新配置防火墙以允许端口22为我工作。

ufw enable
ufw allow 22

0

似乎有3个问题导致此行为(对于我的系统Ubuntu 14.04LTS):

1-ssh未知作业发生在您尝试通过“ su”会话使用“ service ssh start”时。解决方案是使用可以从“ sudo”登录的用户启动sudo服务

2-当ssh处于upstart状态时,现有的init.d / ssh脚本会安静退出,而无需实际启动sshd

3- ssh无法启动的主要原因是因为在Ubuntu 14.04上有一个空文件/ etc / ssh / sshd_host_not_to_run,指示sshd不应该运行。如果要运行sshd,只需删除该文件。

所以整体解决方案是:删除/ etc / ssh / sshd_host_not_to_run后使用sudo服务ssh start


0

只需重新安装openssh-server:

sudo apt-get install --reinstall openssh-server

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.