SSH-Server auf Runlevel 3

5164
Godric Seer

Ich habe versucht, einen SSH-Server auf meinem Desktop für den Remote-Zugriff einzurichten, und habe einige Probleme gehabt. Die erste, die ich gefunden habe, ist, dass sshd beim Booten nicht startet. Sobald ich renne:

sudo service sshd start 

manuell bin ich in der Lage, ssh von sich aus in den Computer einzutragen, daher weiß ich, dass der ssh-Daemon ordnungsgemäß installiert ist. Jetzt möchte ich nur, dass es beim Booten beginnt.

Nach eingehender Betrachtung habe ich in gefunden

/etc/rc.d/rc3.d 

Ich habe ein Skript gefunden

K##sshd 

oder etwas in diese Richtung. Ich glaube, das K impliziert, dass beim Starten von Runlevel 3 sshd heruntergefahren wird. Zum Starten muss lediglich eine Datei S ## sshd erstellt werden, um einen Neustart durchzuführen, oder gibt es eine bessere Möglichkeit, dies zu tun. Ich dachte mir, ich sollte ein paar mehr sachkundige Meinungen einholen, bevor ich herumrannte und zufällig Dateien benannte.

2

3 Antworten auf die Frage

6
Rich Homolka

Ich glaube, das K impliziert, dass beim Starten von Runlevel 3 sshd heruntergefahren wird

Ja. K ist für Kill.

Dies ist ein alter SystemV-Startup. Die Basis-Skripts befinden sich alle in init.d, und es gibt verschiedene symbolische Links mit spezifischen Namenskonventionen (S00 ..., K99 ...) in den Verzeichnissen von rc? .D, von denen sie tatsächlich ausgeführt werden.

Wenn Sie Runlevel ändern, beispielsweise von 1 auf 3, erzeugt der Init-Prozess ein Skript, das in das Verzeichnis für das alte Runlevel (/etc/rc.d/rc1.d/) wechselt, und führt alle Skripts aus, die mit K als beginnen

K_NUMBER_some_service stop 

Dann wechseln Sie in das Verzeichnis für den neuen Runlevel (/etc/rc.d/rc3.d) und führen alle Skripts aus, die mit S beginnen

S_NUMBER_some_service start 

Die Skripte werden in alphabetischer Reihenfolge ausgeführt. Die Reihenfolge wird normalerweise durch die NUMMER ( 00-99) bestimmt. Die Reihenfolge ist wichtig - Sie möchten sshd nicht starten, bevor Sie mit dem Networking beginnen.

Theoretisch könnten Sie die Symlinks manuell ausführen, wenn Sie wissen, wie die Anzahl / Reihenfolge festgelegt wird, in der sie ausgeführt werden soll. Die meisten Skripte haben diese Bestellnummer als Kommentar (try:) head /etc/rc.d/init.d/sshd. Es ist jedoch viel besser, die richtigen Werkzeuge für die Arbeit zu verwenden. Auf Redhat gibt es ntsysvund auch system-config-services. Wenn Sie möchten, können Sie sogar das Befehlszeilentool verwenden chkconfig. Meiner Ansicht nach

chkconfig --level 2345 sshd on 

würde tun was du willst. Bestätigen Sie mitchkconfig --list sshd

ntsysv hat es geschafft, ich bin ein bisschen der Meinung, dass ich in den rohen Dateien herumgraben konnte. Mein Erfahrungslevel war nicht die clevere Methode. Godric Seer vor 11 Jahren 0
2
ott--

Redhat verwendet das Tool ntsysv, um Dienste für die Verzeichnisse rcN.d zu aktivieren / deaktivieren.

0
Maxwell S.

Wenn Sie sich für die Anmeldung in Runlevel 3 (Mehrbenutzermodus, nur Konsoleanmeldungen) anmelden möchten, müssen Sie lediglich Folgendes tun $ sudo init 3. Eine andere Möglichkeit besteht darin, den Kernel-Parameter "3" hinzuzufügen. Wenn Sie grub starten, drücken Sie "e", um die Kernel-Startoption zu ändern.

WARNUNG: Wenn Sie dies auf einen Computer anwenden, der auf Runlevel 5 (Mehrbenutzermodus mit Display-Manager und Konsoleanmeldungen) ausgeführt wird, wird X11 beendet und Sie müssen sich im Konsolenmodus anmelden.