为什么“service sshd start”命令无法返回命令提示符?

时间:2017-06-09 06:52:19

标签: linux service centos7 systemd sshd

我正在安装一个新的CentOS7,它的sshd服务运行正常。然后我下载openssh7.5p1的源代码,构建它并将其安装到默认目录“/ usr / local / sbin / sshd”。我想用它来替换系统的sshd。

  1. 我修改文件“/usr/lib/systemd/system/sshd.service”,更改以下行: old: ExecStart=/usr/sbin/sshd $OPTIONS new: ExecStart=/usr/local/sbin/sshd $OPTIONS

  2. 之后,键入命令“service sshd start”,命令无法返回并且似乎挂起。看起来如下: [root@localhost ~]# service sshd start Redirecting to /bin/systemctl start sshd.service

  3. 我按Ctl + C终止命令。然后使用命令“netstat -ntlp”查找“sshd”已经启动,不知道为什么“service sshd start”无法返回提示符。 [root@localhost ~]# netstat -ntlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
    tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2443/dnsmasq
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 63144/sshd
    tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1043/cupsd
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1815/master
    tcp6 0 0 :::111 :::* LISTEN 1/systemd
    tcp6 0 0 :::22 :::* LISTEN 63144/sshd
    tcp6 0 0 ::1:631 :::* LISTEN 1043/cupsd
    tcp6 0 0 ::1:25 :::* LISTEN 1815/master

  4. 我尝试手动启动sshd,工作正常,sshd启动成功(没有任何警告消息),命令立即返回。命令如下: [root@localhost ~]# /usr/local/sbin/sshd -f /etc/ssh/sshd_config

  5. 感谢任何帮助。如果您想了解更多信息,请与我们联系。感谢。

1 个答案:

答案 0 :(得分:0)

修改你的.service中的类型怎么样? 你试过把它设置为空闲吗? 也许systemd等待从sshd接收消息,似乎挂起..