Назад | Перейти на главную страницу

socat несколько чтений из канала через SSH

Я хочу читать ввод по именованному каналу на удаленном сервере с моей локальной машины. У меня есть сценарий на удаленном сервере, который запускается как задание CRON. Поэтому время от времени скрипт записывает что-нибудь в именованный канал. Из-за ограничений брандмауэра мне разрешено подключаться к серверу только с моего локального компьютера, а не наоборот.

Пока у меня это работает, используя socat подключиться по SSH к удаленному серверу и прочитать входные данные из удаленного именованного канала в именованный канал на локальном компьютере.

Когда я один раз написал в именованный канал на удаленной машине, я вижу ввод в именованном канале локальной машины. Любые новые записи в именованный канал никогда не видны на моем локальном компьютере. Работает только один раз.

Команда, которую я выполняю на своем локальном компьютере, выглядит так:

$ socat PIPE:/tmp/local/local.pipe SYSTEM:"ssh admin@172.16.0.100 \
   socat - /tmp/remote/server/remote.pipe"

Любые предложения о том, как сделать передачу ввода в удаленный именованный канал навсегда на локальный компьютер?