Lösung 1:
Ja, ja, das wird es. Die meisten Dienste laufen nicht in Runlevel 1.
Lösung 2:
Es sollte ok sein. Während der SSH-Listener-Daemon auf den meisten Distributionen in Runlevel 1 gestoppt wird, sollten bestehende Verbindungen bestehen bleiben und das Netzwerk sollte nicht beeinträchtigt werden. Ich würde es jedoch nicht tun, ohne eine Art Remote-Konsole angeschlossen zu haben - man weiß nie, wann eine bösartige Sonneneruption auftaucht und Ihre Netzwerkverbindungen für juuuuust lange genug unterbricht, um Ihre SSH-Sitzung zu beenden.
BEARBEITEN :Einige Tests zeigen, dass zumindest auf Debian-Systemen /etc/rc1.d/S30killprocs
wird bestehende SSH-Verbindungen abbauen (weil es alles zerstört). Ich wäre geneigt, dieses Skript vorübergehend zu ändern und seine Arbeit von Hand zu erledigen (unter Vermeidung der SSH-Verbindungen), wenn ich versuchen würde, das zu tun, was Sie tun möchten. Ich würde trotzdem lieber eine Remote-Konsole verwenden.
Lösung 3:
Tut mir leid, dass ich es nach so langer Zeit wieder hochhole. Ich brauchte eine Antwort auf dieselbe Frage. Die aktuellen Antworten sind für meine Box falsch. Meine Ergebnisse beziehen sich auf eine Centos 5.11-basierte Installation.
-
Der Grund für die Trennung des SSH-Clients ist
init 1
macht so etwas wieservice network stop
.Was ich beobachte ist, dass alle Netzwerkschnittstellen ausfallen und unkonfiguriert werden.ip a
undifconfig -a
bestätigen. -
init 1
stopptsshd
Listener-Prozess. Er stopptsshd
nicht untergeordneter Prozess, der die Sitzung für den verbundenen Client hält. Die ssh-Sitzung wird schließlich aufgrund einer TCP-Zeitüberschreitung abgebrochen, da das Netzwerk ausfällt, die ssh-Sitzung wird nicht beendet. Wenn ich das Netzwerk wieder hochfahreservice network start
schnell genug an der Konsole, dann bleiben meine Clients verbunden, obwohl die Box auf Runlevel 1 ist. -
Frage erwähnt VPN. Wenn der VPN-Server, zu dem Sie gehen, sich jedoch auf der Box befindet, auf der Sie
init 1
ausführen dann ja, Sie werden normalerweise wegen des VPN-Servers standardmäßig getrennt läuft NICHT auf Runlevel 1.
Meine Lösung, um das System auf Runlevel 1 zu bringen, ohne SSH-Sitzungen zu verlieren, besteht darin, die erforderlichen Dienste vorübergehend so zu konfigurieren, dass sie weiterhin auf Runlevel 1 ausgeführt werden. Alles basierend auf Centos 5.11.YMMV.Haftungsausschluss: Ich würde mich nicht darauf verlassen wollen, dass dies funktioniert.
# 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
Das war's. Damit kann ich Box aus der Ferne init 1 bringen und dabei die Kontrolle behalten.
Wenn Sie fertig sind, vergessen Sie nicht, die Änderungen rückgängig zu machen:
chkconfig --level 1 network off
chkconfig --level 1 openvpn off
chkconfig --level 1 sshd off