![为什么在我连接的服务器上重新启动 sshd 服务器时没有断开连接](https://linux22.com/image/182065/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E6%88%91%E8%BF%9E%E6%8E%A5%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%20sshd%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%B6%E6%B2%A1%E6%9C%89%E6%96%AD%E5%BC%80%E8%BF%9E%E6%8E%A5.png)
有时我需要更改远程连接的服务器上文件中的参数sshd_config
,并且要应用更改,我需要重新启动服务。
是什么让我的联系得以延续?
06:23 $ sudo systemctl restart sshd.service
✔ ~/ansible-repository [master L|✚ 1…37]
06:23 $
答案1
从手册页:
sshd 监听来自客户端的连接。它通常在引导时从 /etc/rc.local 启动。它为每个传入连接创建一个新的守护进程。分叉的守护进程处理密钥交换、加密、身份验证、命令执行和数据交换。
因此,您的 sshd 会侦听连接,然后在用户连接到服务器时分叉一个新进程。
当您重新启动 sshd 时,您只是重新启动侦听新连接的进程。所有现有连接保持不变。