Ich möchte die Ausgabe eines lokalen Befehls (unter Verwendung lokaler Dateien) auf einen Remote-Befehl umleiten.
Ich weiß, dass so etwas möglich ist:
[user@local ~]$ head -c 5 /dev/urandom | ssh [email protected] "cat"
... aber ich würde gerne wissen, ob es eine Möglichkeit gibt, dies über die SSH-Konsole zu tun, genau wie der scp
Befehl, der sowohl auf lokale als auch auf Remote-Dateien verweist:
[user@remote ~]$ scp test.txt remote:/new.txt
Das Kopieren der lokalen Datei auf den Remote-Server ist unerwünscht, ich möchte lediglich die Ausgabe umleiten.
**Auf beiden Maschinen läuft Linux (Bash).
Antwort1
Der beste Weg besteht meiner Meinung nach darin, die Ausgabe in eine Datei umzuleiten und diese Datei dann per SCP an den Remote-Host zu senden. Anschließend können Sie dort den Cat-Befehl ausführen.
$ head -c 5 /dev/urandom > random && scp ./random user@remoteip:/path/. && cat /path/random
Ich hoffe, dies wird Ihren Anforderungen gerecht. Wenn dies nicht der Fall ist, antworten Sie.
Antwort2
Das klingt ähnlich wie diese Frage:
Es scheint also Konsens zu sein, eine umgekehrte SSH-Sitzung mit der Option -R einzurichten und die Standardausgabe darüber auszuführen.