SSH-туннель через собственный Windows Bash: адрес уже используется

SSH-туннель через собственный Windows Bash: адрес уже используется

Я пытаюсь настроить SSH-туннель на своей машине Windows. Поскольку bash был представлен в 1607 году, я больше не хочу использовать cygwin. Проблема в том, что bash всегда возвращает сообщение об ошибке: bind: Address already in use. Команда, которую я использую (которая работает в cygwin), это:

ssh [email protected] -L 8022:173.22.0.1:22

Я уже пытался использоватьмногоразные порты безуспешно. Я также пытался убить все на этом порту, используя:

lsof -ti:8022 | xargs kill -9

Есть ли у кого-нибудь идея, почему я не могу настроить этот туннель? Я просто хочу больше использовать cygwin, так как теперь у меня есть интегрированный bash в windows.

Я запускаю bash в режиме администратора.

решение1

Если кто-то еще это обнаружит, есть способ обойти это... вам просто нужно переформатировать туннель с определенным адресом привязки, например так:

ssh -L 127.0.0.1:8022:173.22.0.1:22 [email protected]

Изучив список ошибок, ссылка на который приведена в другом ответе, можно сделать вывод, что проблема кроется в подсистеме IPv6, поэтому я предполагаю, что это работает путем принудительного использования IPv4.

В любом случае у меня это работает, поскольку я использую полностью обновленную версию Win 10 версии 1607 по состоянию на 20 января 2017 года.

решение2

Это известная ошибка, и она отслеживается здесь.https://github.com/Microsoft/BashOnWindows/issues/739

В качестве альтернативы вы можете попробовать использовать что-то вродеhttp://sshwindows.sourceforge.net/

Связанный контент