Net :: ssh :: erwarten

net :: ssh :: erwarten ist ein ssh-wrapper, um Remote-Befehle auszuführen.
Jetzt downloaden

Net :: ssh :: erwarten Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Bruno Negrao Guimaraes Zica
  • Website des Verlags:
  • http://search.cpan.org/~bnegrao/Net-SSH-Expect-1.09/lib/Net/SSH/Expect.pod

Net :: ssh :: erwarten Stichworte


Net :: ssh :: erwarten Beschreibung

Net :: ssh :: erwartet ist ein ssh-wrapper, um Remote-Befehle auszuführen. Net :: ssh :: erwarten ist ein ssh-wrapper, um Remote-Befehle auszuführen.Synopsis NET :: ssh :: erwarten; # # Sie können SSH-Authentifizierung mit dem Benutzerpasswort oder ohne dies tun. # # Erstellen einer SSH-Verbindung mit der Benutzerkennwortauthentifizierung # 1) Konstruieren Sie das Objekt My $ ssh = net :: ssh :: erwarten-> neu (host => "myserver.com", Password => 'pass87word', Benutzer = > 'BNegrao', Raw_pty => 1); # 2) Anmelden an den SSH-Server mit den Anmeldeinformationen. # Testen Sie die Anmeldeausgabe, um sicherzustellen, dass wir Erfolg hatten, mein $ login_output = $ ssh-> login (); if ($ login_output! ~ / Welcome /) {Die "Login ist fehlgeschlagen. Anmeldeausgabe war $ $ login_output"; } # - Jetzt weißt du, dass du angemeldet bist - # # Start SSH ohne Passwort # 1) Führen Sie den Konstruktor aus, meinetwegens > 'BNegrao', Raw_pty => 1); # 2) Starten Sie nun den SSH-Prozess $ ssh-> run_sssh () oder der "SSH-Prozess konnte nicht gestartet werden: $!"; # 3) Sie sollten jetzt angemeldet sein. Testen Sie, wenn Sie die Remote-Eingabeaufforderung erhalten haben: ($ ssh-> read_all (2) = ~ /> s * z /) oder sterben Sie "Wo ist die Remote-Aufforderung?" # - Jetzt wissen Sie, dass Sie angemeldet sind - # # Deaktivieren von Terminal-Übersetzungen und Echo auf dem SSH-Server #, die auf dem Server auf dem Server ausgeführt werden # leitet beliebige Befehle und drucken ihre Ausgänge # (einschließlich der Remote-Prompt-Comming am Ende), mein $ ls = $ ssh-> exec ("ls -l /"); drucken ($ ls); meine $ wer = $ ssh-> exec ("wer"); drucken ($ wer); # Wenn Sie einen Befehl ausführen, der eine riesige Ausgabe verursacht, # lässt sich die Ausgabezeile mit der Zeile abrufen: $ ssh-> Senden ("Find /"); # Verwenden von Send () anstelle von EXEC () meine $ Zeile; # Gibt die nächste Zeile zurück, wodurch es aus dem Eingabestrom entfernt wird: während (definiert ($ line = $ ssh-> read_line ())) {drucken $ Zeile. "n"; } # Nehmen Sie einen Blick in das, was auf dem Eingabestrom sofort verfügbar ist, drucken $ ssh-> peek (0); # Sie sehen wahrscheinlich die Remote-Eingabeaufforderung # Die letzte Read_Line () auf der vorherigen Schleife enthält nicht die # Remote-Eingabeaufforderung, die am Ende der Ausgabe angezeigt wird, da die Aufforderungs-Nr. nicht mit einem 'n'-Zeichen endet. Entfernen wir also die resther # -aufforderung aus dem Eingabestrom: $ ssh-> essen ($ ssh-> peek (0)); # Entfernt, was sich jetzt auf dem Eingabestrom befinden mein $ punk; Während ($ chunk = $ ssh-> peek (1)) {# packt Brocken mit jeweils 1 Sekunde $ ssh-> essen ($ chunk); } # Nun lass uns einen interaktiven Befehl ausführen, wie Passwd. # Dies ist fertig, indem Sie SEND () und WAITFOR () -Methoden zusammen: $ ssh-> send ("passwd"); $ ssh-> waitfor ('Passwort: S * Z', 1) oder die "Eingabeaufforderung" Passwort 'nach 1 Sekunde nicht gefunden "; $ ssh-> send ("curren_password"); $ ssh-> waitfor (': s * z', 1) oder die "Aufforderung" neues Passwort: 'nicht gefunden "; $ ssh-> Senden ("new_password"); $ ssh-> waitfor (': s * z', 1) oder die "Aufforderung" Bestätigen neues Passwort: 'nicht gefunden'; $ ssh-> Senden ("new_password"); # Überprüfen Sie, ob wir erneut die Systemaufforderung haben. Mein ($ Bevor_Match, $ Match) = $ SSH-> WAITFOR ('> S * Z', 1); # WAITFOR () In einem Listenkontext sterben "Passwd ist fehlgeschlagen. Passwd sagte '$ VORE_MATCH'." es sei denn ($ Match); # schließt die SSH-Verbindung $ ssh-> close (); Dieses Modul ist ein Wrapper in die SSH-ausführbare Datei, die in Ihrem System in Ihrem System verfügbar ist. Verwenden Sie dieses Modul, um Befehle auf dem Remote-SSH-Server auszuführen. Es authentifiziert sich mit dem Benutzer und dem Kennwort, das Sie in den Attributen des Konstruktors des Konstruktors und das Kennwort angeben. Dadurch können Sie mit der EXEC () -Methode mithilfe einer Verbindung beliebig viele Befehle mit der EXEC () ausführen. Dies ist ein besserer Ansatz gegenüber anderen SSH-Wrapper-Implementierungen, dh net :: scp, net :: ssh und net :: scp :: erwarten, dass das starten einer neuen ssh-Verbindung jedes Mal, wenn ein Remote-Befehl ausgegeben wird, oder eine Datei wird übertragen. Es verwendet das Erwartung.PM-Modul, um mit dem SSH-Server zu interagieren. Eine Methode von Get_EXPECT () wird bereitgestellt, sodass Sie das interne Erwartungsobjekt erhalten, das an den SSH-Server angeschlossen ist. Verwenden Sie dies nur, wenn Sie ein besonderes Bedürfnis haben, dass Sie nicht mit der EXEC () -Methode nicht tun können. Dieses Modul wurde von net :: scp :: erwartet http://search.cpan.org/~djberg/net-scp inspiriert -Expect-0.12 / erwartet.pm und von net :: Telnet und einige seiner Methoden arbeiten dasselbe wie diese beiden Module. Anforderungen: · Perl.


Net :: ssh :: erwarten Zugehörige Software

Test :: BinaryData.

test :: BinaryData ist ein Perl-Modul, mit dem Sie zwei Dinge vergleichen können, um Hex-Dumps zu geben, wenn sie sich unterscheiden. ...

123

Herunterladen