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

Detaillierte Beispiele für die Ausführung von Zabbix-Remotebefehlen

Inhaltsverzeichnis eins. Umfeld zwei. Vorsichtsma...

Ein Beispiel für die Umgestaltung eines Puzzlespiels mit vue3

Vorwort Es dauerte zwei Tage, um ein Puzzlespiel ...

Uniapps Erfahrung in der Entwicklung kleiner Programme

1. Erstellen Sie ein neues UI-Projekt Zunächst ei...

Implementierung der gemeinsamen Nutzung von Daten zwischen Docker Volume-Containern

Was ist Volumen? „Volume“ bedeutet auf Englisch K...

Detaillierte Verwendung von React.Children

Inhaltsverzeichnis 1. Reagieren.Children.map 2. R...

WeChat-Applet: benutzerdefinierter TabBar-Schrittdatensatz

Inhaltsverzeichnis 1. Einleitung 2. Passen Sie de...

So fragen Sie die neueste Transaktions-ID in MySQL ab

Vorne geschrieben: Manchmal müssen Sie möglicherw...

Mycli ist ein unverzichtbares Tool für MySQL-Befehlszeilen-Enthusiasten

mycli MyCLI ist eine Befehlszeilenschnittstelle f...

Tutorial zur Remote-Verbindung mit einer MySQL-Datenbank unter Linux

Vorwort Ich bin kürzlich bei der Arbeit auf diese...

JavaScript implementiert die asynchrone Übermittlung von Formulardaten

In diesem Artikelbeispiel wird der spezifische Ja...

8 JS reduziert Verwendungsbeispiele und reduzierte Betriebsmethoden

reduce Methode ist eine Array-Iterationsmethode. ...

Installations-Tutorial für mysql8.0rpm auf centos7

Laden Sie zunächst das Diagramm herunter 1. Deins...