Судя по всему, это полностью автоматический процесс выхода из соединения -, и вам не нужно ничего, что пришло бы из стандартного ввода. Итак, почему бы не закрыть стандартный ввод?
<&- ssh -A -t user@192.168.1.1 "
command1
ssh user1@server1
ssh user2@server2
"
Если вы получаете странные ошибки с command1
из-за того, что stdin закрыт, вы можете заменить <&-
на< /dev/null
Я только что сделал это вчера с входной структуре входных инструментов (gitlab.com/interception ).
Установка легко:
pkgconf
)cmake
с вариантами, приведенными в README. Быстрый POC:
На исходном компьютере (Один с клавиатурой ):src/interception-tools/build/intercept -g /dev/input/by-id/usb-Logitech_USB_Receiver-if02-event-mouse | nc des.ti.nat.ion 9876
на станке назначения (Тот, который вы хотите «Луч» события для ):nc -l -p 9876 | src/interception-tools/build/uinput
Если машина назначения не имеет других входных источников, вам может потребоваться экспортировать клавиатуру -, специфичныйyaml
:
uinput -p -d /dev/input/by-id/my-kbd prints my-kbd characteristics in YAML, which itself can be fed back to uinput as uinput -c my-kbd.yaml
Это было на Участке Debian Bullseye между ARM64 @ 5.13 и AMD64 @ 5.10.
Если это работает для вас, вы все равно должны интегрировать это в файлы запуска вашей системы, а затем он будет автоматическим и бесшовным.