ssh tunnel - bind: Неможливо призначити запитувану адресу


26

Спроба створити ssh-тунель для шкарпеток (-D) - поле Linux для вікна Linux (обидва цента):

sshd працює на віддаленій стороні ОК.

З локальної машини ми робимо / бачимо це:

ssh -D 1080 user@8.8.8.8.
user@8.8.8.8's password: 
bind: Cannot assign requested address

(де 8.8.8.8 - це справжнє IP мого сервера, а "користувач" - це моє справжнє ім'я користувача)

Я зайшов у віддалену сторону в цьому вікні терміналу. Я можу перевірити, що локальний порт був невикористаний до цієї команди, а потім використовується командою ssh після команди через:

netstat -lnp | grep 1080

Таким чином, на відміну від більшості відповідей Google із цією помилкою, проблема, здавалося б, не є призначенням інтерфейсу із зворотним циклом. Якщо я спробую використовувати цей тунель з поштовим клієнтом, локальна сторона допускає спробу (відсутність помилки проксі-сервера), але дані / відповідь не повертаються.

На віддаленій стороні я маю "PermitTunnel так" у своєму sshd_config (хоча "так" у будь-якому випадку має бути типовим).

Ідеї ​​чи підказки?

Ось відповідний налагодження-вихід

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *

....

debug1: Authentication succeeded (password).
debug1: Local connections to LOCALHOST:1080 forwarded to remote address socks:0
debug1: Local forwarding listening on 127.0.0.1 port 1080.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on ::1 port 1080.
bind: Cannot assign requested address
debug1: channel 1: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.utf8

Інша підказка: Якщо я запускаю віртуальну скриньку на клієнті під керуванням Windows, відкрийте тунель із шпаклівкою у цьому полі, цей тунель працює на тому ж віддаленому сервері.

Stranger Still "Якщо я використовую Putty (для Linux), що працює безпосередньо на клієнті Linux, він НЕ працює, навіть якщо налаштування є точним дублікатом параметрів шпаклівки, які роблять у Putty, що працює в Windows у віртуальній коробці на тому ж самому Клієнтська машина ?? Є щось рибне ... все ще пробую експерименти, щоб з'ясувати, що це таке.


Що робити, якщо спробувати змусити його використовувати ipv4? (як тільки початковий тест на усунення несправностей). Напр. ssh -4 -D 1080 user@8.8.8.8
Фред Клаузен

Чи можете ви спробувати більш високий номер порту, 4000?
jwbensley

Дякуємо за вхід. Я працював над цим: ssh -4 -D 8081 user@8.8.8.8
JosephK

Відповіді:


41

Тут закрийте петлю. Відповідь у цьому випадку полягала в тому, щоб змусити клієнта ssh використовувати ipv4. Напр

ssh -4 -D 8081 user@8.8.8.8

Тож я б подумав, за винятком того, що я можу обрати 'force ip4' у putty (працює на Linux) без успіху. Також на цій машині вимкнено IPV6, тому теоретично не слід було грати. Зовсім непослідовні результати, які я все ще намагаюся різними перестановками цієї речі, дають мені почухати голову. У будь-якому випадку, ваша відповідь допомогла мені працювати, і, можливо, виявила щось дивне про те, як працює ця версія CentOS або Linux Kernel або щось подібне - спасибі.
ДжозефК

Тривалий знімок, але можливо вимкнення роздільної здатності DNS SSH на сервері, "UseDNS ні" в sshd_config, може вирішити це. Можливо, на сервері відбувається якесь дивне дозвіл DNS, що спричиняє проблеми з прив’язкою.
Фред Клаузен

1
Велике спасибі, -4 також було рішенням для Ubuntu 11.04.
Сандер

У мене виникло це питання після оновлення до Ubuntu 13.04, і це було виправленням.
Нік

1
Замість того, щоб кожен раз вказувати -4, припускаючи, що всі ssh-з'єднання мають бути виконані лише з IPv4, додайте "AddressFamily inet" у свій файл ssh_config - на користувача в $ {HOME} /. Ssh / ssh_config або в системі для всіх всі користувачі в / etc / ssh / ssh_config
JG Miller
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.