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

PNG-Alpha-Transparenz in IE6 (vollständige Sammlung)

Viele Leute sagen, dass IE6 PNG-Transparenz nicht...

Implementierung des klassischen CSS-Sticky-Footer-Layouts

Was ist ein Sticky-Footer-Layout? Unser übliches ...

So deaktivieren Sie die Eslint-Erkennung in Vue (mehrere Methoden)

Inhaltsverzeichnis 1. Problembeschreibung 2. Prob...

Beispiel für die Implementierung des TikTok-Textschütteleffekts mit CSS

In der täglichen Entwicklung streiten sich Front-...

Detaillierte Analyse des Explain-Ausführungsplans in MySQL

Vorwort Das Schreiben effizienter SQL-Anweisungen...

Einführung in RHCE-Bridging, passwortfreie Anmeldung und Portnummernänderung

Inhaltsverzeichnis 1. Konfigurieren Sie Bridging ...

Detaillierte Erklärung der Standort- und Umschreibenutzung in nginx

1. Zusammenfassung der Standortnutzung Der Stando...

CSS3-Radarscan-Kartenbeispielcode

Verwenden Sie CSS3, um coole Radar-Scan-Bilder zu...

Zweistündiges Docker-Einführungstutorial

Inhaltsverzeichnis 1.0 Einleitung 2.0 Docker-Inst...

Ein Artikel zum Lösen des Echarts-Kartenkarussell-Highlights

Inhaltsverzeichnis Vorwort Aufgabenliste tun Sie ...

Vue implementiert die richtige Slide-Out-Layer-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Beispielanalyse der Intervallberechnung von MySQL-Datum und -Uhrzeit

Dieser Artikel beschreibt anhand eines Beispiels ...

Win2008 R2 MySQL 5.5 ZIP-Format MySQL-Installation und -Konfiguration

Installation und Konfiguration von MySQL im ZIP-F...