Mehrere Passwörter durch SSHPASS übergeben

498
Rahul

Ich habe 3 Linux-System.

System_A System_B System_C

Ich möchte eine Datei von "System_B" nach "System_C" kopieren, während ich vom System System_A aus angemeldet bin.

Mit dem folgenden Code wird die Datei von "System_A" in "System_C" kopiert (da ich diese ausführe, während ich von "System A" angemeldet bin).

sshpass -p "pass123" scp /u01/File_A.txt oracle@$ServerIP_C:/u01/File_C.txt 

Der folgende Code macht, was ich will.ie kopiert die Datei von "System_B" nach "System_C", während er vom System System_A aus angemeldet wird.

sshpass -p "pass123" scp oracle@$ServerIP_B/u01/File_B.txt oracle@$ServerIP_C:/u01/File_C.txt 

Im obigen Code wird jedoch nach 1 Kennwort gefragt, da ich nur 1 Kennwort durch sshpass anstelle von 2 weitergebe.

Wie kann ich das zweite Passwort hier über sshpass übergeben, damit ich nicht zur Eingabe eines Passworts aufgefordert werde?

Ich habe folgende Codes ausprobiert:

 sshpass -p "pass123" sshpass -p "pass123" scp oracle@IP_B:/tmp/File_B.txt oracle@IP_C:/tmp/File_C.txt This throws error: Conflicting password source  sshpass -p "pass123" scp oracle@IP_B:/tmp/File_B.txt sshpass -p "pass123" oracle@IP_C:/tmp/File_C.txt Promted for 1 Password 
1

1 Antwort auf die Frage

0
RalfFriedl

Sie sollten die Verwendung von SSH-Schlüsseln in Betracht ziehen. Mit einem Schlüssel können Sie eine Verbindung zu einem Computer herstellen, ohne ein Passwort eingeben zu müssen. Es wird auch als Alternative auf der Manpage sshpass empfohlen.

Ich stimme Ihnen in Bezug auf das Schlüsselpaar völlig zu, jedoch habe ich nur begrenzten Zugriff auf die Änderungen, die ich vornehmen kann, um das Schlüsselpaar einzurichten. Das ist der Grund, warum ich möchte, dass dies irgendwie mit sshpass funktioniert. Rahul vor 6 Jahren 0
Sie können versuchen, zwei Zeilen als Argument an die `-p`-Option zu übergeben, die durch einen Zeilenumbruch getrennt sind. Sie können auch zweimal versuchen, `sshpass 'aufzurufen, wie` sshpass -p "pass1" sshpass -p "pass2" scp ... `. RalfFriedl vor 6 Jahren 0
Könnten Sie bitte den Befehl für "Sie können versuchen, zwei Zeilen als Argument an die Option -p zu übergeben, die durch einen Zeilenumbruch getrennt sind" ... Die spätere hat nicht funktioniert, ich habe die Frage mit der Ausgabe eines späteren Befehls bearbeitet. Rahul vor 6 Jahren 0
Ich habe mir nur die Quelle angesehen, es funktioniert nicht mit zwei Passwörtern, ich habe mir nur die Quelle angesehen. Sie können aber das Programm "Erwarten" ausprobieren. RalfFriedl vor 6 Jahren 0