Wie leite ich die Befehlsausgabe vom Remotecomputer über ssh in die lokale Datei um?

9

Beispiel: Ich melde mich über ssh auf meinem Laptop (Ubuntu 14.04) an und muss eine .log-Datei mit einer Befehlsausgabe erstellen und diese dann auf meinen Desktop-Computer übertragen. Der Befehl bietet die -oMöglichkeit, die Ausgabe in eine Datei umzuleiten. Ich könnte als nur die Datei mit scpBefehl kopieren .

Die Frage ist: Kann die Ausgabe direkt auf meinen Computer umgeleitet werden, ohne dass zuerst eine Datei auf einem Laptop erstellt und dann mit übertragen werden muss scp?

Beide Maschinen verwenden Ubuntu 14.

NonStandardModel
quelle
Also ... möchten Sie sich von Computer A aus bei Computer B anmelden und die Ausgabe auf Computer A protokollieren?
Wilf
Das ist richtig.
NonStandardModel

Antworten:

18

Abhängig von Ihrem Befehl können Sie Folgendes tun:

ssh user@machine command > log

Das Protokoll wird auf Ihrem Computer gespeichert. Ein echtes Beispiel:

ssh [email protected] ls > log

Wenn Ihr Befehl keine Ausgaben unterstützt, stdoutführen Sie ihn folgendermaßen aus:

ssh [email protected] "command -o output; cat output"  > log
Ravexina
quelle
2
Ein etwas besserer Weg wäre, den teeBefehl zu verwenden, damit Sie auch die Ausgabe auf dem Bildschirm sehen. Zum Beispiel:ssh user@machine command | tee log
Boardrider
2

Wenn Sie sehen möchten, was gleichzeitig eingegeben und ausgegeben wird, probieren Sie es aus:

ssh user@host 2>&1 | tee ssh-session.log
Bolik Der Typ
quelle