В принципе, то, что вы пытаетесь сделать, вполне правдоподобно.
Проблема с вашей командой в том, что второй канал происходит на вашем локальном компьютере. Команды, являющиеся аргументами, ssh
должны быть заключены в кавычки.
(Особое внимание следует уделить специальным символам, таким как $
: если раскрытие и / или подстановка команд должны выполняться удаленно, эти специальные символы должны быть экранированы или, альтернативно, удаленная команда заключена в одинарные кавычки. См., Для справки, QUOTING
раздел вman bash
)
Что вам, вероятно, нужно, это что-то вроде
$ zcat myisoname.iso.gz | ssh root@xxx.xxx.xxx.xxx 'dd of=/dev/sda'
Здесь dd
просто возможность. Вы должны быть в состоянии использовать канал в файл тоже, как в
$ ssh root@xxx.xxx.xxx.xxx 'cat - >/dev/sda'