![初始化 1](https://linux22.com/image/501658/%E5%88%9D%E5%A7%8B%E5%8C%96%201.png)
标题说明了一切。但情况如下:
- 通过 VPN 连接工作
- 在 Linux 客户端上
- 远程控制[电子邮件保护]
初始化 1
通过“init 1”进入“单用户模式”会终止并断开我的 root ssh 会话吗?
答案1
是的,会的。大多数服务不在运行级别 1 下运行。
答案2
应该没问题。虽然大多数发行版的 SSH 侦听器守护进程在运行级别 1 中停止,但现有连接应该保持开启,网络不会受到影响。不过,如果没有连接某种远程控制台,我不会这样做——你永远不知道什么时候会出现异常太阳耀斑,并断开你的网络连接,时间长到足以终止你的 SSH 会话。
编辑:一些测试表明,至少在 Debian 系统上,/etc/rc1.d/S30killprocs
这将关闭现有的 SSH 连接(因为它会终止所有内容)。如果我要尝试执行您想要的操作,我会倾向于暂时关闭该脚本并手动完成它的工作(避免 SSH 连接)。不过,我仍然更喜欢使用远程控制台。
答案3
很抱歉这么久才提起这个问题。我需要回答这个问题。目前的答案不适合我的机器。我的发现是基于 Centos 5.11 的安装。
ssh 客户端断开连接的原因是由于
init 1
执行了类似 的操作service network stop
。我观察到的是,所有网络接口都关闭并取消配置。ip a
并ifconfig -a
确认这一点。init 1
停止sshd
侦听器进程。它不会停止sshd
为连接的客户端保留会话的子进程。由于网络中断,ssh 会话最终会由于 TCP 超时而丢失,但 ssh 会话不会被终止。如果我service network start
足够快地在控制台上恢复网络,那么即使该框处于运行级别 1,我的客户端仍会保持连接。问题提到了 VPN。如果你要使用的 VPN 服务器就在你正在使用的机器上,
init 1
那么是的,你通常会断开连接,因为 VPN 服务器默认情况下将不会在运行级别 1 运行。
我的工作是将系统转至运行级别 1 而不丢失 ssh 会话,即临时配置所需的服务以继续在运行级别 1 运行。全部基于 Centos 5.11。YMMV。 免责声明:我不想依赖这个来工作。
# keep network interfaces up
chkconfig --level 1 network on
# if you are connecting though VPN e.g. 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
答案4
/etc/init.d/ssh stop
停止了 ssh 而没有终止我现有的 ssh 会话,但是init 1
确实......