Я бы сказал, что все FTP-механики сеансов, отдельные данные и управляющие соединения, идущие в противоположных направлениях, текущие каталоги и т.д. будет трудно и бессмысленно реализовать внутри ssh. Копирование может просто повторно использовать соединение и и факт, что оно запускает оболочку на другой стороне (что оно не всегда делает).
Для быстрого копирования файлов можно просто повторно использовать существующее соединение. Предположим, вы используете OpenSSH.
Создайте обычное ssh-соединение и при необходимости копирования файла используйте другое окно терминала/tmux window/tty для выполнения команды scp
.
Если установлен ControlMaster
(глобально или для определенной группы узлов) в ~/.ssh/config
, scp
будет повторно использовать существующее подключение и не будет запрашивать пароли или тратить время на повторное подключение.
Проблема только в том, что scp
не будет присоединен к существующему сеансу и повторно использовать текущий каталог этой оболочки. Но это не всегда возможно в любом случае: представьте, что ваша удаленная оболочка уже выполняет другой процесс ( tmux
, mc
, tail -f
и т.д.). Поэтому вы должны записать его полностью: scp index.html hemote.host: path/to/www/
. Обычно не трудно скопировать путь из удаленного окна.
К сожалению, ~ Ctrl + Z или ~ & не будут работать для мультиплексируемых сеансов, поэтому, если у вас есть только один старый VT-220, необходимо предварительно запустить tmux
или screen
.
То же самое относится к rsync
или sshfs
или даже sftp
, которые поддерживают различные модели отправки данных, но могут совместно использовать соединение.
Ну, очевидный способ состоит в том, чтобы соединить два порта друг к другу, используя серийный Кабель без двух USB / последовательных адаптеров. Поскольку вы не делаете этого, я полагаю, что вы хотите, чтобы компьютер сделал что-то - например, это будет разумно общая настройка для обратного инженерия протокола между двумя устройствами.
Snooper - это программа для справедливой программы: прямые данные между двумя последовательными портами, мониторинг связи.
Не уверен, что это поможет ... но я нашел вот что: https://superuser.com/questions/403331/how-do-i-link-two-serial-ports-in-gnu-linux
Предлагается использовать socat со ссылкой на эту страницу: { {1}} http://technostuff.blogspot.be/2008/10/some-useful-socat-commands.html
Команда сверху:
socat /dev/ttyS0,raw,echo=0,crnl /dev/ttyS1,raw,echo=0,crnl