Grundsätzlich ist das, was Sie versuchen, absolut plausibel.
Das Problem bei Ihrem Befehl ist, dass die zweite Pipe auf Ihrem lokalen Computer ausgeführt wird. Befehle, die Argumente sind, ssh
sollten in Anführungszeichen gesetzt werden.
(Spezielle Zeichen müssen besonders beachtet werden $
: Wenn die Erweiterung und / oder das Ersetzen von Befehlen remote erfolgen muss, müssen diese Sonderzeichen mit Escapezeichen versehen werden, oder alternativ kann der Fernbefehl in einfache Anführungszeichen gesetzt werden. Siehe QUOTING
Abschnitt in man bash
).
Was Sie wahrscheinlich brauchen, ist so etwas
$ zcat myisoname.iso.gz | ssh root@xxx.xxx.xxx.xxx 'dd of=/dev/sda'
Hier dd
ist nur eine Möglichkeit. Sie sollten auch eine Pipe zum Ablegen verwenden können, wie in
$ ssh root@xxx.xxx.xxx.xxx 'cat - >/dev/sda'