Я хочу перенаправить вывод локальной команды (используя локальные файлы) в удаленную команду.
Я знаю, что можно сделать что-то вроде этого:
[user@local ~]$ head -c 5 /dev/urandom | ssh [email protected] "cat"
... но я хотел бы узнать, есть ли способ сделать это через консоль SSH, как команда scp
, которая ссылается как на локальные, так и на удаленные файлы:
[user@remote ~]$ scp test.txt remote:/new.txt
Копирование локального файла на удаленный сервер нежелательно, я бы хотел просто перенаправить вывод.
**Обе машины работают под управлением Linux (bash).
решение1
Я думаю, что лучший способ — перенаправить вывод в файл, а затем скопировать этот файл на удаленный хост, а затем запустить там команду cat.
$ head -c 5 /dev/urandom > random && scp ./random user@remoteip:/path/. && cat /path/random
Надеюсь, это удовлетворит ваши потребности. Ответьте, если нет.
решение2
Это похоже на этот вопрос:
Итак, похоже, консенсус заключается в том, чтобы настроить инвертированный сеанс ssh с опцией -R и запустить stdout через него.