2016-05-05 15 views
6

Mit scp und interaktiver Eingabe des Kennworts wird der Kopierfortschritt der Datei an die Konsole gesendet. Es wird jedoch keine Konsolenausgabe ausgegeben, wenn sshpass in einem Skript für scp-Dateien verwendet wird.So aktivieren Sie die sshpass-Ausgabe für die Konsole

$ sshpass -p [password] scp [file] [email protected][ip]:/[dir] 

Es scheint, sshpass unterdrückt oder versteckt die Konsolenausgabe von scp. Gibt es eine Möglichkeit, die sshpass scp-Ausgabe zu trösten?

+0

Ich glaube, die beste Option ist es, 'sshpass' nicht zu verwenden. Wenn Sie können, verwenden Sie die Pubkey-Authentifizierung. Wenn Sie mehr Freiheit in der Kontrolle brauchen, was passiert, müssen Sie es als "Expect" -Skript schreiben, denke ich. – Jakuje

+1

Dies ist ein eingebettetes Ziel. sshpass ist, was für jetzt verfügbar ist. – jacknad

+0

Probieren Sie diesen Link, so dass Sie finden können [http://unix.stackexchange.com/questions/188291/how-to-view-progress-with-sshpass-and-scp-in-linux] –

Antwort

1

Auf diese Weise:

output = $ ($ PASSWD sshpass -p SCP -v $ Dateiname [email protected]:/root 2> & 1)

echo „Output = $ Ausgang "

Sie leiten die Konsolenausgabe in Variablenausgabe um.

Oder, wenn Sie nur die Konsolenausgabe von scp Befehl sehen möchten, sollten Sie nur -v in Ihrem ssh Pass cmd hinzu:

sshpass -p $ PASSWD scp -v $ filename root @ 192.168.8.1:/root