Erläuterung des Beispiels für die automatische Anmeldung unter Linux

Erläuterung des Beispiels für die automatische Anmeldung unter Linux

Es gibt viele Skripte im Internet, die expect verwenden, um eine automatische Anmeldung zu erreichen, aber es gibt keine klare Erklärung, und Anfänger kopieren und sammeln sie normalerweise. Aber ich weiß nicht, warum es so geschrieben ist. Dieser Artikel veranschaulicht das Prinzip des Skripts anhand eines Minimalbeispiels.

Der Skriptcode lautet wie folgt:

#!/usr/bin/expect
Zeitüberschreitung auf 30 setzen
spawn ssh -l Benutzername 192.168.1.1
erwarte "Passwort:"
sende "ispass\r"
interagieren

1. [#!/usr/bin/expect]

Diese Zeile teilt dem Betriebssystem mit, welche Shell zur Ausführung des Codes im Skript verwendet werden soll. Der Expect-Befehl hier ist eigentlich derselbe wie bei Bash unter Linux und bei cmd unter Windows.

HINWEIS: Diese Zeile muss die erste Zeile im Skript sein.

2. [Timeout auf 30 setzen]

Im Grunde weiß jeder, der Englisch kann, dass hier das Timeout eingestellt wird. Jetzt müssen Sie sich nur noch merken, dass die Zeiteinheit Sekunden ist.

3. [spawn ssh -l Benutzername 192.168.1.1]

Spawn ist ein interner Befehl von expect, der nach dem Aufrufen der expect-Umgebung ausgeführt werden kann. Wenn expect nicht installiert ist oder direkt unter der Standard-SHELL ausgeführt wird, kann der Befehl spawn nicht gefunden werden. Verwenden Sie daher keine Befehle wie „which spawn“, um den Spawn-Befehl zu finden. Beispielsweise ist „dir“ in Windows ein interner Befehl, der mit der Shell geliefert wird. Sie können keine ausführbare Datei namens „dir.com“ oder „dir.exe“ finden.

Seine Hauptfunktion besteht darin, dem laufenden SSH-Prozess eine Shell hinzuzufügen, um interaktive Befehle zu übergeben.

4. [erwarte "Passwort:"]

Das expect hier ist auch ein interner Befehl von expect. Das kann etwas verwirrend sein. Der Shell-Befehl von expect ist derselbe wie der interne Befehl, aber es ist dieselbe Funktion. Sie müssen sich nur daran gewöhnen. Dieser Befehl soll feststellen, ob die Zeichenfolge „password:“ im letzten Ausgabeergebnis enthalten ist. Wenn ja, wird es sofort zurückgegeben. Andernfalls wird eine Weile gewartet, bevor es zurückgegeben wird. Die Wartezeit beträgt hier die oben festgelegten 30 Sekunden.

5. [senden Sie „ispass\r“]

Hierbei handelt es sich um eine interaktive Aktion, die der manuellen Eingabe eines Passwortes entspricht.

Tipps: Vergessen Sie nicht, am Ende der Befehlszeichenfolge „\r“ hinzuzufügen. Wenn ein abnormaler Wartezustand auftritt, können Sie dies überprüfen.

6. [interagieren]

Behalten Sie nach Abschluss der Ausführung den interaktiven Status bei und übergeben Sie die Steuerung an die Konsole. Zu diesem Zeitpunkt können Sie manuell arbeiten. Wenn dieser Satz nicht enthalten ist, meldet sich das System nach der Anmeldung ab, anstatt auf dem Remote-Terminal zu bleiben.

Das Obige ist der Inhalt dieses Artikels über das Beispiel der automatischen Anmeldung unter Linux. Vielen Dank für Ihr Lernen und Ihre Unterstützung für 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So melden Sie sich automatisch beim Switch an und speichern die Konfiguration unter Linux expect
  • Linux erwartet, dass ein Beispielcode für ein automatisches Anmeldeskript erreicht wird
  • Verwenden Sie das Expect-Skript, um die automatische Anmeldung eines Remotecomputers unter Linux zu realisieren
  • So implementieren Sie die automatische Anmeldung im Linux-Betriebssystem

<<:  So fügen Sie MySQL Indizes hinzu

>>:  jQuery+Ajax zum Erreichen eines einfachen Paging-Effekts

Artikel empfehlen

JavaScript verwendet setTimeout, um einen Countdown-Effekt zu erzielen

Um die Fähigkeit zum Schreiben von nativem JavaSc...

Detaillierte Erläuterung der Pipeline und des Ventils im Tomcat-Pipeline-Modus

Vorwort Wenn in einem relativ komplexen großen Sy...

So zeigen Sie JSON-Daten auf einer HTML-Seite an und formatieren sie

JSON-Daten werden auf der HTML-Seite angezeigt un...

So erstellen Sie einen K8S-Cluster und installieren Docker unter Hyper-V

Wenn Sie das Win10-System installiert haben und e...

...

Detaillierte Erläuterung des Vuex-Gesamtfalls

Inhaltsverzeichnis 1. Einleitung 2. Vorteile 3. N...

Lösung des Konflikts zwischen Linux-Kernel- und SVN-Versionen

Phänomen Das System konnte den Linux-Systemkernel...

Detaillierte Erklärung der Anwendungsfälle von Vue-Listenern

Die erste Möglichkeit besteht darin, jQuery's...

Grundlegendes Lernprogramm zum Tabellen-Tag in HTML

Zusammensetzung der Tabellenbeschriftung Die Tabe...

jQuery verwendet das Canvas-Tag, um den Bestätigungscode zu zeichnen

Das <canvas>-Element ist für clientseitige ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.5.27 winx64

1. Installationspaket MySQL-Dienst-Downloadadress...

Natives JS-objektorientiertes Tippspiel

In diesem Artikel wird der spezifische Code des o...