首页  >  问答  >  正文

linux - 重启sshd服务

请输入代码阿里云的ubuntu服务器,一开始就有sshd守护进程,能用putty连接
修改心跳包时间,修改了/etc/ssh/sshd_config
想重启服务时发现/etc/init.d下没有sshd,搜索发现/usr/sbin下存在sshd
无法执行sshd restart,sshd start,sshd stop等命令,提示没有该命令。



无法重启sshd服务

最后通过直接kill掉sshd进程,然后直接执行/usr/sbin/sshd,能再次开始sshd进程,载入修改后的配置。

请问如何方便的重启sshd服务,请不要说ssh的重启,我说的sshd,ssh-server的这个进程。

巴扎黑巴扎黑2712 天前2063

全部回复(3)我来回复

  • 滿天的星座

    滿天的星座2017-05-16 13:20:21

    如果你已经安装了openssh-server的话(没有的话,要安装),因为Ubuntu已经使用Upstart来进行管理/etc/init.d里面的任务. 所以/etc/init.d/sshd start已经无效了.注意: 应该用sudo service ssh start(注意: 是ssh,不是sshd)启动sshd服务,之后可以通过进程查看sshd进程已在运行.

    回复
    0
  • 黄舟

    黄舟2017-05-16 13:20:21

    你查看一下/etc/init.d/ssh 文件就知道该文件就是启动,停止,重启sshd的脚本,也被称为服务。
    所以可以通过sudo /etc/init.d/ssh start/stop/restart 或者 sudo service ssh start/stop/restart 来启动/停止/重启sshd

    case "" in
      start)
        check_for_upstart 1
        check_privsep_dir
        check_for_no_start
        check_dev_null
        log_daemon_msg "Starting OpenBSD Secure Shell server" "sshd" || true
        if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
            log_end_msg 0 || true
        else
            log_end_msg 1 || true
        fi
        ;;
      stop)
        check_for_upstart 0
        log_daemon_msg "Stopping OpenBSD Secure Shell server" "sshd" || true
        if start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid; then
            log_end_msg 0 || true
        else
            log_end_msg 1 || true
        fi
        ;;
    

    该脚本里执行的就是/usr/sbin/sshd

    回复
    0
  • 为情所困

    为情所困2017-05-16 13:20:21

    直接killall/kill掉进程 在启动

    回复
    0
  • 取消回复