web-dev-qa-db-ja.com

リモート(VPN経由)のsshセッションから「init1」は私のssh接続を強制終了しますか

タイトルがすべてを物語っています。しかし、ここにシナリオがあります:

  1. VPN経由で動作するように接続
  2. linuxクライアントの場合
  3. ssh [email protected]
  4. init 1

「init1」を介して「シングルユーザーモード」に移行すると、root sshセッションが強制終了されて切断されますか?

5
Heston Holtmann

はい、そうです。ほとんどのサービスはランレベル1では実行されません。

7
rodjek

大丈夫なはずです。 SSHリスナーデーモンはほとんどのディストリビューションのランレベル1で停止しますが、既存の接続はアップしたままであり、ネットワークは影響を受けません。ただし、何らかのリモートコンソールを接続しないと、それを行うことはできません。不正な太陽フレアがいつ発生し、SSHセッションを強制終了するのに十分な時間ネットワーク接続が切断されるかはわかりません。

[〜#〜] edit [〜#〜]:いくつかのテストでは、少なくともDebianシステムでは/etc/rc1.d/S30killprocsは既存のSSH接続を停止します(すべてが切断されるため)。私がやりたいことをやろうとすると、そのスクリプトを一時的にこすり、手作業で(SSH接続を避けて)実行する傾向があります。ただし、リモートコンソールを使用したいのですが。

2
womble

久しぶりに育ててごめんなさい。私はこれと同じ質問に答える必要がありました。私の箱の現在の答えは間違っています。私の調査結果は、Centos5.11ベースのインストールに関するものです。

  1. Sshクライアントが切断される理由は、init 1service network stopのようなことをするためです。私が観察しているのは、すべてのネットワークインターフェイスがダウンし、構成が解除されることです。 ip aifconfig -aはこれを確認します。

  2. init 1sshdリスナープロセスを停止します。接続されたクライアントのセッションを保持するsshd子プロセスは停止しません。ネットワークがダウンしたためにセッションがドロップされ、強制終了されません。コンソールでネットワークをservice network startにすばやく戻すと、ボックスがランレベル1であっても、クライアントは接続されたままになります。

  3. 質問はVPNについて言及しています。あなたが行っているVPNサーバーがinit 1を実行しているボックスにある場合は、はい、VPNサーバーデフォルトはランレベル1で実行されないため、通常は切断されます。

Sshセッションを失うことなくシステムをランレベル1にするための私の回避策は、実行レベル1で実行を継続するために必要なサービスを一時的に構成することです。すべてCentos5.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

それでおしまい。これにより、制御を維持しながら、boxを使用してリモートで1を初期化できます。

完了したら、変更を元に戻すことを忘れないでください。

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