SSH: доступ к локальному файлу (перенаправление содержимого локального файла) через удаленную консоль SSH

SSH: доступ к локальному файлу (перенаправление содержимого локального файла) через удаленную консоль SSH

Я хочу перенаправить вывод локальной команды (используя локальные файлы) в удаленную команду.


Я знаю, что можно сделать что-то вроде этого:

[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

Это похоже на этот вопрос:

https://stackoverflow.com/questions/440524/ssh-a-way-to-transfer-files-without-opening-a-separate-sftp-session

Итак, похоже, консенсус заключается в том, чтобы настроить инвертированный сеанс ssh с опцией -R и запустить stdout через него.

Связанный контент