Я пытаюсь использовать OpenSSH ProxyCommand в Windows для подключения к device2 через device1. Device2 запрашивает переадресацию портов xxxxx и соединение без ProxyCommand работает нормально (но требует сначала подключения к устройству 1, а затем к устройству 2, и я хочу простое, одношаговое подключение).

Я создал файл C:\Program Files\OpenSSH\etc\ssh_config следующим образом:

Host device1
Hostname xxx.xxx.xx.xx
User root

Host device2
ProxyCommand ssh -q device1 nc -q0 localhost xxxxx

Теперь, когда я печатаю

ssh user@device2

я получил

/bin/sh: No such file or directory
write: Broken pipe

Я проверил это на ОС Linux, и он работал просто отлично. Не могли бы вы объяснить, что может быть не так?

Кроме того, я также попытался создать конфигурацию в C:\Program Files\OpenSSH\home\user\.ssh\config и получил тот же результат.

Когда я удаляю файл конфигурации, я получаю

ssh: Could not resolve hostname device2: Name or service not known

Таким образом, файл, кажется, обнаружен.

Я использую OpenSSH_7.6p1, OpenSSL 1.0.2k 26 января 2017 г. и Windows 10

1 ответ1

1

Итак, я думаю, что я понял это, хотя моя проблема не решена, как это не может быть.

Из моего исследования и благодаря https://superuser.com/users/213663/martin-prikryl я узнал, что нет сборки OpenSSH для Windows с поддержкой ProxyCommand (по крайней мере, я не смог ее найти, и на их сайте это такая информация).

Причина, которую я получил:

/bin/sh: No such file or directory
write: Broken pipe

Был из-за плохой сборки OpenSSH. Я скачал это с

https://sourceforge.net/projects/sshwindows/

И по отзывам там эта сборка сломана! Пожалуйста, не используйте его! После того, как я удалил этот OpenSSH и установил официальный с сайта (или из дополнительных функций Windows 10), я получил правильную ошибку:

Proxy connect is not supported in Windows yet

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .