sshd 服务无法启动

aCo*_*ean 39 ssh arch-linux

我不确定为什么它没有启动或为什么它阻止我连接,我收到此错误:

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.
Run Code Online (Sandbox Code Playgroud)

根据#amrith 的建议,我运行了 sshd -t,这表明密钥尚未生成。我根据本论坛中给出的建议使用 ssh-keygen -A 生成了这个,然后运行 ​​systemctl status 显示我仍然没有运行守护进程。我附上了下面的错误,遗憾的是我不知道重新运行 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.
Run Code Online (Sandbox Code Playgroud)

小智 46

尝试sshd测试模式。它可能会指出失败的原因:

$ sshd -t
Run Code Online (Sandbox Code Playgroud)

请参阅此处的测试模式文档。


Tom*_*ely 18

在我们的例子中,问题是我们对 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/


Sli*_*eam 12

好吧,如果您更改 SSH 端口号,则必须在 CentOS 7 中做更多事情。

更改 SSH 端口编辑 ssdh_config 文件

vi /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)

例如更改为:端口 2323

SELINUX 只允许 ssh 使用端口 22。添加新的端口上下文 2323。如果您还没有安装,请执行以下操作

yum -y install policycoreutils-python
semanage port -a -t ssh_port_t -p tcp 2323
Run Code Online (Sandbox Code Playgroud)

检查 ssh 的端口上下文

semanage port -l | grep ssh
Run Code Online (Sandbox Code Playgroud)

重启 SSHD 服务

systemctl restart sshd.service
Run Code Online (Sandbox Code Playgroud)

将端口添加到防火墙

firewall-cmd --permanent --zone=public --add-port=2323/tcp
Run Code Online (Sandbox Code Playgroud)

重装防火墙

firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)

检查听力

ss -tnlp|grep ssh
Run Code Online (Sandbox Code Playgroud)

尝试通过 ssh 再次连接

ssh root@<ipaddr> -p 2323
Run Code Online (Sandbox Code Playgroud)


小智 5

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

PermitRootLogin no
port 22
MaxAuthTries 3
MaxSessions 2
AllowUsers ravikanth
AddressFamily any
ListenAddress 192.168.1.23
Run Code Online (Sandbox Code Playgroud)

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

注意:我已经关闭了防火墙(iptables)和 SELinux。