SSH очень медленное соединение

18

У меня есть несколько удаленных систем, и одна из них, linode, запускающая debian, очень медленно запускает ssh - это занимает примерно 20-25 секунд каждый раз. Похоже, это произошло сравнительно недавно. Я попытался установить GSSAPIAuthenticationна noили yesкак это было предложено в нескольких ответов на подобные вопросы, и это не делает разницы. Это также не имеет никакого значения, если я войду, используя адрес fqdn или ip. У меня та же задержка sshing либо из моего локального Linux-бокса, либо из моего локального Macintosh. У меня нет такой задержки sshing от линода к локальной коробке linux. У меня есть другая удаленная система, использующая ту же версию Debian, и я могу подключиться к ней через 2 секунды. Единственная разница между/etc/ssh/sshd_config Файлы в двух коробках Debian состоят в том, что быстрый не допускает пароли, а также указывает список разрешенных шифров.

Если я ssh -vvv root@linodeвхожу в систему с помощью , задержка происходит в части, отмеченной >>>>>>

debug2: key: /root/.ssh/id_ecdsa ((nil))
debug2: key: /root/.ssh/id_ed25519 ((nil))
debug3: send packet: type 5
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50

>>>>>>

debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug3: send_pubkey_test

(Это только частичный журнал - полный журнал доступен по запросу)

Я не могу найти информацию о входе в систему /var/log/auth.logили /var/log/syslogво время задержки - после этого я просто получаю

Jul 27 13:46:43 linode sshd[23049]: Accepted publickey for root from 199.241.27.237 port 51464 ssh2: RSA 89:08:ef:44:48:a4:84:b7:0a:de:14:65:1b:d9:86:f8
Jul 27 13:46:43 linode sshd[23049]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 27 13:46:43 linode systemd-logind[3235]: New session 10361 of user root.
Пол Томблин
источник

Ответы:

25

Если создание соединения медленное, но после создания это нормальная скорость, у вас, скорее всего, будет проблема в том, что сервер выполняет обратный поиск DNS для клиента и по какой-то причине он не работает.

В общем, при отладке вы также можете попытаться войти в систему с двух терминалов. При первом входе в систему посмотрите sshdжурнал на сервере, пока вы пытаетесь войти со второго. Это дает вам больше информации о том, что сервер делает (или ждет).

Вы можете попытаться найти доказательство этого по причине обратного поиска DNS, установив один или оба следующих параметра в /etc/ssh/sshd_config:

UseDNS no
UsePAM no

и посмотрим, ускорит ли это создание соединения. Если это так, вы часто можете оставить все как есть, пока не решите (если вам это важно).

Если это проблема обратного просмотра DNS, это зависит от того, какой DNS-сервер используется для входа в систему. Согласно Википедии, не все IP-адреса имеют обратную запись, так как это не является действующим требованием стандартов. Но, скорее всего, это какая-то проблема конфигурации.

Энтон
источник
У моего нового провайдера (1000 Мбит / с на дом!) Нет записи rDNS для моего IP. Так что UseDNS noисправьте проблему настолько, насколько она будет исправлена.
Пол Томблин,
2
Добавление UseDNS не работает для меня.
Хосе Варгас
Перепробовал все это, без кубиков. В итоге просто перезагрузил клиент и все было хорошо.
medley56
Это было очень полезно ... обнаружил, что DNS сервера был неправильно настроен. Исправление, которое исправило медленные ssh-соединения.
TemporalWolf
Добавление UseDNS = нет и перезапуск sshd работал для меня. CentOS 7.
pzy
-2

В системах Debian / Ubuntu хитрость заключается в том, чтобы выкинуть «avahi-daemon» из системы, и проблема исчезла.

apt-get -y purge avahi*
TRANCEMANIAC
источник
2
не очень хорошая идея -yдля команды очистки, пользователь должен просмотреть действие перед выполнением.
Рабин