Вы используете ProxyCommand в вашей конфигурации ssh, а mosh упоминает ProxyCommand в сообщении об ошибке. Я думаю, что это жизненно важный ключ. Mosh использует ProxyCommand для внутреннего использования, и при этом он, вероятно, переопределяет ваши собственные настройки.
Я избегал ProxyCommand с помощью ручного вызова перенаправления портов, например:
ssh -fN -L 2222:internal_host.example.com:22 bastion_host
Затем я пытаюсь подключиться к localhost через порт 2222:
mosh --ssh="ssh -p2222" internal_user@localhost
Вместо ошибки ProxyCommand я получаю это:
mosh-server: invalid option -- 'l'
Usage: mosh-server new [-s] [-i LOCALADDR] [-p PORT] [-c COLORS] [-- COMMAND...]
Я подозреваю, что это связано с разными версиями mosh, так как я вижу это даже при использовании mosh напрямую без bastion_host. В любом случае, прямое соединение работает, несмотря на сообщение, поэтому я не думаю, что это проблема. Скорее, я думаю, что проблема в том, что переадресация портов обрабатывает только порт 22, в то время как mosh также использует порт UDP в 60000:61000. Туннелирование ssh не может легко пересылать UDP-трафик, поэтому я думаю, что вам лучше использовать другую архитектуру.
Я предполагаю, что вы хотите использовать mosh для первого прыжка, поскольку ваша локальная машина может изменять сети и т.д. Почему бы просто не использовать mosh и ssh, как это (возможно, с псевдонимом)?
mosh bastion_host ssh internal_user@internal_host