在 ssh 会话中升级 openssh-server

yan*_*isf 13 linux debian ssh apt

假设您apt-get upgrade从 ssh 会话发出并且要升级的软件包之一是 openssh-server。

升级后是否重启了新的sshd进程?如果是,会话如何维护?如果没有,我应该明确地重新启动它还是我遗漏了什么?

Mik*_*ike 16

当你连接到这样的事情发生

[user@an02-east ~]$ ps aux | grep ssh
root     13789  0.0  0.0  98932  3888 ?        Ss   03:16   0:00 sshd: user [priv]
502      13791  0.0  0.0  98932  1740 ?        S    03:17   0:00 sshd: user@pts/0
root     15378  0.0  0.0  64728  1168 ?        Ss   04:13   0:00 /usr/sbin/sshd
Run Code Online (Sandbox Code Playgroud)

所以 ssh 正在分叉一个具有特权分离的新 sshd 进程。另外如果你看lsof

sshd      16826 user txt       REG                8,3   546680    5247866 /usr/sbin/sshd
Run Code Online (Sandbox Code Playgroud)

你也可以看到

因此,当您升级时,主服务器将重新启动并升级,但您当前的 ssh 会话将保持在线。如今,您甚至可以从 ssh 会话重新启动 ssh 服务器,而不会丢失连接。