При подключении к серверу Debian с помощью ssh, если я использую user@XXX.XXX.XXX.XXX (IP-адрес сервера), соединение будет мгновенным.
Однако, если я использую user@hostname.com (DNS перенаправлен на IP-адрес сервера), соединение ssh зависает на 20 секунд перед успешным подключением. Журналы ssh показывают следующее:
[alex@alex home]$ ssh -v -v git@hotname.com
OpenSSH_5.5p1, OpenSSL 1.0.0c-fips 2 Dec 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
а здесь он зависает секунд 20, прежде чем продолжить.
Я думаю, это может иметь какое-то отношение к обратному DNS или тому подобному (сервер на самом деле не «знает» его имя hostname.com, он просто перенаправил этот DNS на свой IP-адрес).
Я добавил следующие параметры в / etc / ssh / sshd_config:
UseDNS no
GSSAPIAuthentication no
безрезультатно.
DNS-записи сервера в /etc/resolv.conf настроены правильно:
ping hostname.com
PING sub.domain.com (X.X.X.X) 56(84) bytes of data.
64 bytes from replicant (X.X.X.X): icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from replicant (X.X.X.X): icmp_seq=2 ttl=64 time=0.050 ms�s
Спасибо за помощь.
Решение: Похоже, что из-за маршрутизатора DSL, на который меня наложил мой провайдер, были проблемы.
Изменение моего DNS-сервера с 192.168.1.1 (IP-адрес маршрутизатора) на Google (8.8.8.8, всегда полезно знать, когда вы торопитесь) мгновенно решило проблему задержки подключения.
Я предполагаю, что предоставленный маршрутизатор за 50 евро не кэширует записи DNS, хотя я не понимаю, почему пинг DNS-адреса не имел задержки, а 20 секунд - это слишком долгое ожидание, даже для некэшированного DNS.
Еще раз спасибо за помощь!
Вам нужно будет добавить
GSSAPIAuthentication no
... чтобы /etc/ssh/ssh_config
, не /etc/ssh/sshd_config
как ты сказал. Чтобы проверить, действительно ли это исправление, попробуйте добавить -o GSSAPIAuthentication=no
в свою командную строку, чтобы увидеть, изменится ли это.
У вас могут быть проблемы с DNS на стороне клиента, проверьте, сколько времени требуется для разрешения имени хоста вашего сервера:
[vitalie@silver ~]$ time host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.87.99
www.l.google.com has address 74.125.87.104
real 0m0.727s
user 0m0.002s
sys 0m0.008s
Я использую клиент Mac. Отключение аутентификации GSSAPIA на сервере не повлияло.
Я последовал за http://hints.macworld.com/article.php?story=20111020115417965 и отключил IPv6 в моем ~ / .ssh / config добавляя:
Host ...
AddressFamily inet
Это решило проблему :-)