初始化 1

初始化 1

标题说明了一切。但情况如下:

  1. 通过 VPN 连接工作
  2. 在 Linux 客户端上
  3. 远程控制[电子邮件保护]
  4. 初始化 1

通过“init 1”进入“单用户模式”会终止并断开我的 root ssh 会话吗?

答案1

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

答案2

应该没问题。虽然大多数发行版的 SSH 侦听器守护进程在运行级别 1 中停止,但现有连接应该保持开启,网络不会受到影响。不过,如果没有连接某种远程控制台,我不会这样做——你永远不知道什么时候会出现异常太阳耀斑,并断开你的网络连接,时间长到足以终止你的 SSH 会话。

编辑:一些测试表明,至少在 Debian 系统上,/etc/rc1.d/S30killprocs这将关闭现有的 SSH 连接(因为它会终止所有内容)。如果我要尝试执行您想要的操作,我会倾向于暂时关闭该脚本并手动完成它的工作(避免 SSH 连接)。不过,我仍然更喜欢使用远程控制台。

答案3

很抱歉这么久才提起这个问题。我需要回答这个问题。目前的答案不适合我的机器。我的发现是基于 Centos 5.11 的安装。

  1. ssh 客户端断开连接的原因是由于init 1执行了类似 的操作service network stop。我观察到的是,所有网络接口都关闭并取消配置。 ip aifconfig -a确认这一点。

  2. init 1停止sshd侦听器进程。它不会停止sshd为连接的客户端保留会话的子进程。由于网络中断,ssh 会话最终会由于 TCP 超时而丢失,但 ssh 会话不会被终止。如果我service network start足够快地在控制台上恢复网络,那么即使该框处于运行级别 1,我的客户端仍会保持连接。

  3. 问题提到了 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确实......

相关内容