SSHPass Ein hervorragendes Tool für nicht interaktive SSH -Login - Nie auf dem Produktionsserver verwenden

SSHPass Ein hervorragendes Tool für nicht interaktive SSH -Login - Nie auf dem Produktionsserver verwenden

In den meisten Fällen melden sich Linux -Systemadministratoren bei Remote -Linux -Servern an, indem sie SSH entweder durch Lieferung eines Kennworts oder eines kennwortlosen SSH -Anmeldes oder der Keybased SSH -Authentifizierung verwenden.

Was ist, wenn Sie eine liefern möchten Passwort zusammen mit Nutzername SSH? das ist wo sshpass kommt, um zu retten.

sshpass ist ein einfaches und leichtgewichtiges Befehlszeilen-Tool, mit dem wir das Kennwort (nicht interaktive Kennwortauthentifizierung) zur Eingabeaufforderung selbst bereitstellen können, damit automatisierte Shell-Skripte ausgeführt werden können, um Backups über Cron Scheduler aufzunehmen.

SSH verwendet gerade TTY Access, um sicherzustellen, dass das Kennwort tatsächlich von einem interaktiven Tastaturbenutzer geliefert wird. SSHPass wird SSH in einem engagierten TTY ausgeführt und es in die Irre geglaubt, dass es das Passwort von einem interaktiven Benutzer empfängt.

Wichtig: Verwenden sshpass als am wenigsten sicher angesehen, da es das Kennwort für alle Systembenutzer in der Befehlszeile mit Simple enthüllt "PS" Befehl. Ich empfehle dringend.

Installieren Sie SSHPass auf Linux -Systemen

In Redhat/Centos Basierte Systeme, zuerst müssen Sie das Epel -Repository in Ihrem System aktivieren, um es mit dem YUM -Befehl wie gezeigt zu installieren.

# yum install sshpass # dnf install SSHPass [auf Fedora 22+ Versionen] 

Auf Debian/Ubuntu und seinen Derivaten können Sie es mit dem APT-Get-Befehl wie gezeigt installieren.

$ sudo apt-get install sshpass 

Alternativ können Sie von der Quelle installieren, um die neueste Version von zu haben sshpass, Laden Sie zuerst den Quellcode herunter und extrahieren Sie dann den Inhalt der TAR -Datei und installieren Sie ihn wie folgt:

$ wget http: // sourceforge.NET/Projects/SSHPass/Dateien/neueste/Download -O SSHPass.Teer.gz $ tar -xvf sshpass.Teer.gz $ cd sshpass-1.06 $ ./konfigurieren # sudo mach installieren 

So verwenden Sie SSHPass unter Linux

sshpass wird zusammen mit verwendet mit ssh, Sie können alle anzeigen sshpass Verwendungsoptionen mit vollständigen Beschreibungen durch Ausgabe des folgenden Befehls:

$ sshpass -h 
SSHPass Hilfe
Verwendung: SSHPass [-f | -d | -p | -e] [-hv] Befehlsparameter -f Dateiname Nehmen Sie das Kennwort zum Verwenden von Datei-D-Nummer als Dateideskriptor zum Erhalten von Passwort -P-Kennwort als Argument (Argument Sicherheit unklug) -e Passwort wird als env -var "sshpass" ohne Parameter übergeben. Das Passwort wird von stdin -h help (diesem Bildschirm) -V -Versionsinformationen höchstens einer von -F, -d, -p genommen oder -e sollte verwendet werden 

Wie ich bereits erwähnte, sshpass Betrachten Sie zuverlässiger und nützlicher für Skriptzweck.

Melden Sie sich auf Remote Linux SSH Server an (10.42.0.1) Mit dem Benutzernamen und dem Passwort und überprüfen.

$ sshpass -p 'my_pass_here' SSH [E -Mail geschützt] 'df -h' 

Wichtig: Hier wird das Passwort in der Befehlszeile angegeben, die praktisch unsicher ist und diese Option nicht empfohlen wird.

SSHPass - Linux Remote Login über SSH

Um jedoch zu verhindern, dass das Kennwort auf dem Bildschirm angezeigt wird, können Sie die verwenden -e Fahnen Sie das Passwort als Wert der Sshpass Umgebungsvariable wie unten:

$ export sshpass ='my_pass_here' $ echo $ sshpass $ sshpass -e ssh [E -Mail geschützt] 'df -h' 
SSHPass - Passwort in der Eingabeaufforderung ausblenden

Notiz: Im obigen Beispiel, Sshpass Umgebungsvariable dient nur für vorübergehende Zwecke und wird während des Neustarts entfernt.

Die dauerhaft einstellen Sshpass Umgebungsvariable, öffnen Sie die /etc/Profil Datei und geben Sie die Exportanweisung am Anfang der Datei ein:

exportieren sshpass ='my_pass_here' 

Speichern Sie die Datei und beenden Sie und führen Sie den folgenden Befehl aus, um die Änderungen zu bewirken:

$ Quelle /etc /Profil 

Andererseits können Sie auch die verwenden -F Fahnen Sie das Passwort in eine Datei ein und setzen Sie. Auf diese Weise können Sie das Passwort aus der Datei wie folgt lesen:

$ sshpass -f Passwort_FileName SSH [E -Mail geschützt] 'df -h' 
SSHPass - Anmeldenkennwortdatei anmelden

Sie können auch SSHPass verwenden, um Dateien mithilfe von SCP- oder Backup/Sync -Dateien über RSYNC über SSH zu übertragen, wie gezeigt:

------- Dateien mit SCP übertragen ------- $ scp -r/var/www/html/Beispiel.com - -rsh = "sshpass -p 'my_pass_here' SSH -l Aaronkilik "10.42.0.1:/var/www/html ------- Sicherungs- oder Synchronisierungsdateien mit RSYNC ------- $ rsync - -rsh = "sshpass -p 'my_pass_here' SSH -l Aaronkilik "10.42.0.1:/data/backup//backup/ 

Für mehr Nutzung empfehle ich Ihnen, die durch das durchzulesen sshpass Mann Seite, Typ:

$ MAN SSHPASS 

In diesem Artikel haben wir erklärt sshpass Ein einfaches Tool, das eine nicht interaktive Authentifizierung der Kennwort ermöglicht. Diese Tools sind zwar hilfreich, aber es wird dringend empfohlen, SSHs sicherere öffentliche Schlüsselauthentifizierungsmechanismus zu verwenden.

Bitte hinterlassen Sie eine Frage oder einen Kommentar über den folgenden Feedback -Abschnitt für weitere Diskussionen.