Я уверен, что это должно быть возможно. Я могу только предложить хакер, в котором вы используете дополнительные ssh-соединения, чтобы каждое из них переносило другую пару файловых дескрипторов. Например. следующий сценарий, подтверждающий концепцию, выполняет первый ssh для запуска фиктивной команды (сна) для подключения локальных fds 5 и 6 к удаленным stdin и stdout, предполагая, что эти fd являются теми, которые вам нужны добавить к обычным 0,1,2.
Затем настоящий ssh выполняется, и на удаленном компьютере он подключает удаленные fds 5 и 6 к стандартному вводу и выходному файлу другого ssh.
В качестве примера, этот сценарий передает сжатую страницу руководства на удаленный компьютер, который распаковывает и запускает ее через man. Стандартные входы и выходные данные реального ssh по-прежнему доступны для другое.
#!/bin/bash
exec 5</usr/share/man/man1/ssh.1.gz 6>/tmp/out6 # pretend need 5 and 6
ssh remote 'echo $$ >/tmp/pid; exec sleep 99999' <&5 >&6 &
sleep 1 # hack. need /tmp/pid to be set
ssh remote '
pid=$(</tmp/pid)
exec 5</proc/$pid/fd/0 6>/proc/$pid/fd/1
echo start
gzip -d <&5 | man /dev/stdin >&6
echo stop
kill -hup $pid
'
wait
less /tmp/out6
Después de investigar un poco, encontré en un ticket abierto en MacPorts bugtracker :solicitud de puerto telnet (High Sierra)sobre la falta de telnet, y que el paquete necesario es inetutils
.
Así que instalé inetutils
con:
sudo port install inetutils
Y sé que ya puedo usar telnet
.
PD. Si Homebrew es lo tuyo, también puedes instalar telnet
con:
brew install telnet