Detaillierte Erklärung, wie man ein Passwort an den SSH/SCP-Befehl im Bash-Skript übergibt

Detaillierte Erklärung, wie man ein Passwort an den SSH/SCP-Befehl im Bash-Skript übergibt

Installieren Sie SSHPASS

Für die meisten aktuellen Betriebssysteme ist das SSHPASS-Paket in den Standardpaket-Repositorys verfügbar. Es kann mit dem folgenden Befehl auf Ihrem System installiert werden.

Unter Debian:

$ sudo apt installiere sshpass

Unter CentOS:

$ yum --enablerepo=epel -y installiere sshpass

Verwenden von SSHPASS

sshspass verwendet die Umgebungsvariable sshspass, um das Benutzerkennwort zu speichern. Sie müssen zuerst die Variable und das Kennwort „sshspass“ und dann diesen Befehl verwenden. Unten finden Sie ein einfaches Shell-Skript mit sshspass.

exportiere SSHPASS=ry3AvbWO0oupYX9HCMzp0Axx

sshpass -e scp testfile.csv [email protected]:/uploads/

Sie können SSH-Befehle auch mit sshpass ausführen, wie unten gezeigt

sshpass -e ssh [email protected]

Lösen Sie das Problem des SCP-Befehls, der ein Passwort im Shell-Skript erfordert

Verwenden Sie eine Schlüsseldatei.

Hier wird angenommen, dass Host A (192.168.100.3) verwendet wird, um die Datei von Host B (192.168.100.4) zu erhalten.

Führen Sie den folgenden Befehl auf Host A aus, um einen Pairing-Schlüssel zu generieren:

ssh-keygen -t rsa

Drücken Sie die Eingabetaste, wenn Sie dazu aufgefordert werden. Der öffentliche Schlüssel wird im Verzeichnis .ssh unter dem Benutzerverzeichnis gespeichert. Beispielsweise ist root hier gespeichert:

/root/.ssh/id_rsa.pub

Kopieren Sie die Datei id_rsa.pub im Verzeichnis .ssh in das Verzeichnis ~/.ssh/ von Host B und benennen Sie sie in authorized_keys um.

Führen Sie Befehle auf Host A aus, um beispielsweise eine Vertrauensbeziehung zu Host B herzustellen (vorausgesetzt, die IP von Host B lautet: 192.168.100.4):

scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

Als Nächstes können Sie die Befehle scp und ssh verwenden, um Dateien ohne Kennwort von Host B abzurufen. ssh 192.168.100.4 Drücken Sie die Eingabetaste. Es ist kein Kennwort erforderlich.

Hinweis: Fügen Sie tatsächlich einfach den Inhalt von id_rsa.pub zu den autorisierten Schlüsseln der anderen Maschine hinzu.

Das könnte Sie auch interessieren:
  • Vue-CLI 3 scp2 Automatische Bereitstellung von Projekten auf dem Server-Verfahren
  • Python ruft scp auf, um Dateien auf das Serverbeispiel hochzuladen
  • So verwenden Sie SSH und SCP über geheime Schlüssel in Windows
  • Python führt den Befehl scp aus, um Dateien und Ordner in das Verzeichnis des Remote-Hosts zu kopieren
  • Linux verwendet den Befehl scp, um Dateien auf den lokalen Computer zu kopieren und lokale Dateien auf den Remote-Server zu kopieren
  • Python Pexpect implementiert die Methode des SCP-Kopierens mit Passworteingabe
  • Detaillierte Erklärung zur Verwendung des scp-Befehls zum Remote-Kopieren von Dateien unter Linux
  • scp kopiert Daten von einem Linux-Server auf einen anderen Linux-Server
  • So implementieren Sie den SCP-Vorgang in Android

<<:  MySQL-Batch entfernt Leerzeichen in einem bestimmten Feld

>>:  Eine kurze Diskussion über die Effizienz der MySQL-Unterabfrage-Vereinigung und in

Artikel empfehlen

Detaillierter Prozess für den Einstieg mit Docker Compose HelloWorld

Voraussetzungen Compose ist ein Tool zum Orchestr...

So konfigurieren Sie Java-Umgebungsvariablen im Linux-System

Konfigurieren von Java-Umgebungsvariablen Hier we...

Installieren Sie Linux mithilfe einer virtuellen VMware-Maschine (CentOS7-Image).

1. VMware herunterladen und installieren Verknüpf...

Beispiel zum Aktivieren des Brotli-Komprimierungsalgorithmus für Nginx

Brotli ist ein neues Datenformat, das eine um 20 ...

Datenabfragevorgang im MySQL-JSON-Format

Der Standardtabellenname ist „base_data“ und der ...

Tabellen-Paging-Funktion implementiert durch Vue2.0+ElementUI+PageHelper

Vorwort Ich habe kürzlich an einigen Front-End-Pr...

Detaillierte Einführung in die Mysql-Datumsabfrage

Abfrage des aktuellen Datums AKTUELLES DATUM AUSW...

Vue implementiert Dialogkapselung

Inhaltsverzeichnis Vue2-Schreiben Schreiben der V...

js, um einen coolen Feuerwerkseffekt zu erzielen

In diesem Artikel finden Sie den spezifischen Cod...