我不知道为什么不开始或为什么它阻止我连接,我得到这个错误:
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!