无需重新启动服务器即可更改文件 sshd_config 文件

Max*_*mov 56 server ssh services sshd

我改变了配置:

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

但更改仅在重新启动服务器后应用。如何在不重新启动的情况下应用更改?

小智 60

只需重新启动 sshd 服务:

sudo service sshd restart
Run Code Online (Sandbox Code Playgroud)

或者:

sudo /etc/init.d/sshd restart
Run Code Online (Sandbox Code Playgroud)

以防万一你是远程重启,首先应该检查配置以确保它不会启动失败:

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

  • 没什么......弹跳 sshd 足够聪明,可以允许现有的 ssh 连接愉快地继续有增无减 (12认同)
  • 如果我使用 ssh 连接怎么办? (10认同)
  • 我不建议直接在 /etc/init.d 中运行任何东西。使用“service”命令。大多数服务不会关心,但有一些服务会关心,因为它们受环境变量的影响。“服务”确保环境被清理干净。例如,运行“sudo”会将 HOME 环境变量留在您的非根主目录中。 (6认同)

Ste*_*n K 23

有一种更不干扰的方法可以做到这一点,而无需重新启动 SSH 服务。

来自man sshd

当 sshd 收到挂断信号 SIGHUP 时,它会重新读取它的配置文件,通过使用它启动时的名称和选项(例如 /usr/sbin/sshd)执行自己。

因此,您可以使用如下命令将 SIGHUP 发送到 SSH 服务器进程:

sudo kill -SIGHUP $(pgrep -f "sshd -D")
Run Code Online (Sandbox Code Playgroud)

pgrep -f "sshd -D"部分将仅返回侦听新连接的 sshd 守护进程的 PID,因为每个活动会话可能有其他不需要信号的 PID。

  • 这是 ** 最安全** (https://stribika.github.io/2015/01/04/secure-secure-shell.html) 重新加载配置的方法:“在远程主机上配置 SSH 时要格外小心. 始终保持活动会话,永远不要重新启动 sshd。相反,您可以发送 SIGHUP 信号以重新加载配置,而不会终止您的会话。通过在不同端口上启动新的 sshd 实例并对其进行测试,您可以更加小心。” (3认同)

abu*_*bua 10

对于 Systemd 系统(Ubuntu 默认)

sudo systemctl reload sshd.service
Run Code Online (Sandbox Code Playgroud)

或者

 sudo systemctl reload sshd
Run Code Online (Sandbox Code Playgroud)

或者

 sudo /bin/systemctl reload sshd.service
Run Code Online (Sandbox Code Playgroud)

对于 Sysvinit / Systemd(Linux from Scratch 默认和 Unix 系统)

sudo service sshd reload
Run Code Online (Sandbox Code Playgroud)

或者

sudo /etc/init.d/sshd reload
Run Code Online (Sandbox Code Playgroud)

Ubuntu 使用 systemd:这里service命令将单位:start、stop、status 和 reload 传递给它们的 systemctl/initctl 等价物。


小智 5

sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)

不会这样做。您需要重新启动 sshd,而不是 ssh:

sudo service sshd restart
Run Code Online (Sandbox Code Playgroud)

  • 取决于系统配置。在 Lubuntu 14.04 `sudo service ssh restart` 工作得很好,而 `sudo service sshd restart` 报告“sshd:无法识别的服务”。不知道为什么这会有所不同... (4认同)