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.


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 root@192.168.x.x ls > log

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

ssh root@192.168.x.x "command -o output; cat output"  > log

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.