
Я пытаюсь настроить 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/