从远程(通过VPN)ssh会话将“init 1”杀死我的SSH连接

标题说明了一切。 但是这里是场景:

  1. 连接到通过VPN工作
  2. 在Linux客户端上
  3. ssh [email protected]
  4. init 1

将通过“初始化1”杀死并断开我的根SSH会话“单用户模式”?

是的,是的。 大多数服务不运行在运行级别1。

应该可以。 虽然SSH侦听器守护进程在大多数发行版的运行级别1中停止,但现有的连接应该保持不变,并且联网不应受到影响。 但是,如果没有连接某种远程控制台,我不会这样做 – 你永远不知道什么时候会有stream氓太阳耀斑来到你的networking连接上,这样你的SSH连接就会中断。

编辑 :一些testing表明,至less在Debian系统上,/ /etc/rc1.d/S30killprocs将取消现有的SSH连接(因为它会closures所有的东西)。 如果我想要做你想做的事情,我会倾向于暂时把这个脚本弄糟,然后手工完成(避免SSH连接)。 不过,我仍然更喜欢使用远程控制台。

/etc/init.d/ssh stop停止ssh没有杀死我现有的SSH会话,但init 1没有…

对不起,经过这么长时间后, 我需要回答这个问题。 目前的答案是错误的,我的箱子。 我的发现是基于Centos 5.11的安装。

  1. ssh客户端断开连接的原因是因为init 1执行类似service network stop 。 我所观察到的是,所有的networking接口都closures,并取消configuration。 ip aifconfig -a确认。

  2. init 1停止sshd侦听器进程。 它不会阻止持有连接客户端的会话的sshdsubprocess。 会话被丢弃,因为networkingclosures,它不会被杀死。 如果我使networking备份service network start在控制台上快速service network start ,那么即使该框处于运行级别1,我的客户端仍保持连接状态。

  3. 问题提到VPN。 如果您要通过的VPN服务器位于您执行init 1 ,那么通常您将断开连接,因为默认情况下, VPN服务器不会在运行级别1运行。

我的工作是使系统运行级别1,而不会丢失ssh会话,是暂时configuration所需的服务以继续在运行级别1运行。所有基于Centos 5.11的。 因人而异。 免责声明:我不想依靠这个工作。

 # keep network interfaces up chkconfig --level 1 network on # if you are connecting though VPN eg OpenVPN running on same server chkconfig --level 1 openvpn on # While at it, might as well keep SSHD running, so you can reconnect chkconfig --level 1 sshd on init 1 # look for messages that indicate that run level has been reached tail -F /var/log/messages # Aug 31 14:21:19 pabx-demo kernel: Kernel logging (proc) stopped. # Aug 31 14:21:19 pabx-demo kernel: Kernel log daemon terminating. # Aug 31 14:21:20 pabx-demo exiting on signal 15 

而已。 这使我可以在保持控制的情况下远程执行init 1。

完成之后,请不要忘记撤消更改:

 chkconfig --level 1 network off chkconfig --level 1 openvpn off chkconfig --level 1 sshd off