sshd服务无法启动

我不知道为什么不开始或为什么它阻止我连接,我得到这个错误:

sshd.service - OpenSSH Daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled) Active: failed (Result: start-limit) since Wed 2013-09-11 08:45:13 BST; 1min 21s ago Process: 701 ExecStart=/usr/bin/sshd -D (code=exited, status=1/FAILURE) Sep 11 08:45:13 alarmpi systemd[1]: sshd.service: main process exited, code=exited, status=1/FAILURE Sep 11 08:45:13 alarmpi systemd[1]: Unit sshd.service entered failed state. Sep 11 08:45:13 alarmpi systemd[1]: sshd.service holdoff time over, scheduling restart. Sep 11 08:45:13 alarmpi systemd[1]: Stopping OpenSSH Daemon... Sep 11 08:45:13 alarmpi systemd[1]: Starting OpenSSH Daemon... Sep 11 08:45:13 alarmpi systemd[1]: sshd.service start request repeated too quickly, refusing to start. Sep 11 08:45:13 alarmpi systemd[1]: Failed to start OpenSSH Daemon. Sep 11 08:45:13 alarmpi systemd[1]: Unit sshd.service entered failed state. 

在#amrith的build议下,我运行了sshd -t这表示密钥没有被生成。 我生成这个使用ssh-keygen -A在这个论坛给出的build议,然后运行systemctl状态显示,我仍然没有运行守护进程。 我附上了下面的错误,可惜我不知道ho重新运行sshd -t现在没有消息。

 sshd.service - OpenSSH Daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled) Active: inactive (dead) Sep 11 12:04:42 alarmpi systemd[1]: Started OpenSSH Daemon. Sep 11 12:04:42 alarmpi sshd[289]: fatal: Cannot bind any address. Sep 11 12:04:42 alarmpi systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a Sep 11 12:04:42 alarmpi systemd[1]: Unit sshd.service entered failed state. Sep 11 12:04:42 alarmpi systemd[1]: sshd.service holdoff time over, scheduling restart. Sep 11 12:04:42 alarmpi systemd[1]: Stopping OpenSSH Daemon... Sep 11 12:04:42 alarmpi systemd[1]: Starting OpenSSH Daemon... Sep 11 12:04:42 alarmpi systemd[1]: sshd.service start request repeated too quickly, refusing to start. Sep 11 12:04:42 alarmpi systemd[1]: Failed to start OpenSSH Daemon. Sep 11 12:04:42 alarmpi systemd[1]: Unit sshd.service entered failed state. 

    试试sshd -t(sshdtesting模式)。 这可能会指出你失败的原因。

    请参阅此处的testing模式文档。

    在我们的例子中,问题是我们使用非标准的SSH端口。 SELinux可以限制哪些端口可以被服务使用。 显然它有时会感到困惑,忘记我们已经允许这个端口?

    我们不得不发出以下命令将我们的端口(22222)添加到可用端口列表中

    semanage port -a -t ssh_port_t -p tcp 22222

    参考: http : //sharadchhetri.com/2014/10/15/centos-7-rhel-7-change-openssh-port-number-selinux-enabled/

    我也有这个问题,但解决了它。 我的configuration如下。

     PermitRootLogin no port 22 MaxAuthTries 3 MaxSessions 2 AllowUsers ravikanth AddressFamily any ListenAddress 192.168.1.23 

    服务无法启动,所以我刚刚注释掉最后一行( #ListenAddress 192.168.1.23 ),然后我的服务器启动成功。

    注意:我已closures防火墙(iptables)和SELinux。

    那么如果你改变了SSH端口号,你必须在CentOS 7中做更多的事情。

    更改SSH端口编辑ssdh_config文件

     vi /etc/ssh/sshd_config 

    例如,更改为: 端口2323

    SELINUX只允许ssh的端口22。 添加新的端口上下文2323.如果你没有安装以下操作

     yum -y install policycoreutils-python semanage port -a -t ssh_port_t -p tcp 2323 

    检查ssh的端口上下文

     semanage port -l | grep ssh 

    重新启动SSHD服务

     systemctl restart sshd.service 

    将端口添加到防火墙

     firewall-cmd --permanent --zone=public --add-port=2323/tcp 

    重新加载防火墙

     firewall-cmd --reload 

    检查收听

     ss -tnlp|grep ssh 

    尝试再次通过SSH连接

     ssh root@<ipaddr> -p 2323 

    Cannot bind any address

    如果它尝试绑定到低于1024的端口(例如,默认情况下为22),则需要root权限才能这样做。 你运行service sshd start或类似的东西? 尝试编辑sshd.confconfiguration文件,将绑定地址设置为大于1024的端口(例如1122),并以简单的用户身份运行它!

    您可能想尝试使用以下设置:

     RestartSec=5s 

    这会迫使你的应用程序在重启尝试之前睡眠5秒钟。 你显然可以改变设置的数量。

    详情请看这里 :

    我有同样的问题,最简单的解决scheme是删除openssh并重新安装。

      yum remove openssh 

    接着:

      yum install openssh openssh-server openssh-clients 

    那么你可以启动sshd服务:

      service sshd start 

    我有同样的问题。 只是禁用SELinux!