Ответ Жиль должен быть ответ , как описано в комментариях, на самом деле.
gertvdijk
Ответы:
143
Есть несколько вещей, которые могут пойти не так. Добавьте, -vvvчтобы ssh напечатал подробный след того, что он делает, и посмотрите, где он останавливается.
Проблема может быть на клиенте или на сервере.
Распространенная проблема на сервере - если вы подключаетесь с клиента, для которого время обратного поиска DNS истекло. («Обратный поиск DNS» означает возврат с IP-адреса клиентского компьютера к имени хоста. Это не очень полезно для безопасности, лишь немного полезно для диагностики попыток взлома из записей журнала, но конфигурация по умолчанию делает это в любом случае.) Чтобы отключить обратный поиск DNS, добавьте UseDNS noв /etc/ssh/sshd_config(вам необходимо быть пользователем root на сервере; не забудьте перезапустить службу SSH впоследствии).
Другая вещь, которая может пойти не так, это тайм- аут аутентификации GSSAPI . Если вы не знаете, что это такое, вы, вероятно, не полагаетесь на это; Вы можете отключить его, добавив строку GSSAPIAuthentication noк /etc/ssh/ssh_configили ~/.ssh/config(это на стороне клиента).
Для меня это была проблема GSSAPIAuthentication. Спасибо.
RajaRaviVarma
14
Обратный поиск DNS был моей проблемой
тринадцатое
2
Обратный DNS был виновником и для меня, и UseDNS noисправил это как очарование. Я нахожусь во внутренней сети без DNS-сервера для обработки обратного поиска внутренних IP-адресов.
Джордан Мак,
1
Есть ли последствия для безопасности при отключении GSSAPIAuthentication? (поиск в Google в течение 15 минут не пролил свет на это)
Александр Малахов
3
@AlexanderMalakhov Если вы полагаетесь на это, чтобы войти, то вы заблокируете себя, если отключите его. Кроме этого нет. И если вы используете GSSAPI, вы бы знали - вам пришлось бы настраивать некоторые службы на основе GSSAPI в вашей сети.
Жиль
13
Дайте время авторизации и посмотрите, сколько времени это займет:
[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct 4 07:55:03 2013 from 3.60.40.232
[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.
real 0m45.192s
user 0m0.003s
sys 0m0.005s
You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#
Смотрите выше, это заняло около 45 секунд для входа в систему -------- ОЧЕНЬ МЕДЛЕННО
После того, как вы войдете в систему как root, отредактируйте файл sshd_config и измените запись UseDNS, как показано ниже. Здесь я использую sed вместо редактирования файла.
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes
[root@ISSLABNTL01 ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no
[root@ISSLABNTL01 ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[root@ISSLABNTL01 ~]# exit
Давайте оценим процесс входа в систему и посмотрим, сколько времени это займет.
[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct 4 07:55:03 2013 from 3.60.40.232
[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.
real 0m6.192s
user 0m0.003s
sys 0m0.005s
You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#
Видите, прошло уже 6 секунд, время для меня, чтобы ввести пароль.
фантастический ... момент времени .. useDNS не устранил его для меня .. У меня была аутентификация по паролю, и задержка была из-за того, что появилось приглашение для ввода пароля .. Я ждал его появления, затем сделал ctrl-c, так что 'time не включил меня, вводя пароль.
Barlop
Я могу подтвердить , UseDNS noв /etc/ssh/sshd_configфиксированном мой вопрос
UseDNS noРешено
Пандуранг Патил
@PandurangPatil Плохая опция конфигурации: usedns
Юсеф Мохамади
@zhilevan Вы должны также упомянуть, почему это плохая конфигурация. Это поможет понять, почему это плохой конфиг
Pandurang Patil
4
Это что-то не так с установкой Ubuntu.
Чтобы исправить это, вы должны изменить эту строку в /etc/nsswitch.conf :
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Конфигурация Ubuntu не неправильная. В некоторых случаях (домашние сети без центральных DNS-серверов) это правильно. В других (сети, где время ожидания mDNS запросов), это плохо.
Жиль
[NOTFOUND = return] не должно быть там.
Neuquino
4
@Neuquino Это должно быть там. Видимо, по той причине, которую ты не понимаешь. Возиться с nsswitch.confподобными проблемами - проблема, а не общее решение для замедления SSH.
gertvdijk
Это кажется мне единственным решением, которое работает
linello
4
В моем случае проблему можно решить, перезапустив systemd-logind:
Отладочный вывод для ssh в моем случае просто остановился на 30 секунд, пока он «подключался». Решение оказалось связано с настройками DNS в моей локальной системе. Предыдущая конфигурация сети оставила в /etc/resolv.confфайле поддельный DNS-сервер . Замена его текущим DNS-сервером устранила проблему.
Для меня этот файл, кажется, был /etc/resolv.conf (нет e)
Shadow
0
Я не знаю столько об окружающей среде автора, сколько хотел бы, но для других с подобной проблемой это может быть проблемой sssd, которую мы используем для привязки ldap mojo.
Это происходит со мной:
$ time ssh server.example.com
real 2m0.018s
user 0m0.006s
sys 0m0.004s
Я должен получить доступ к серверу (в моем случае через консоль), а затем сделать:
service restart sssd
После этого все просто работает. У меня не было времени, чтобы отладить основную причину, но этот бандит работает на меня.
Я мог решить проблему медленного пароля через ssh - проблему, установив флажок Включить DNS-ретрансляцию в настройках DHCP на моем маршрутизаторе dlink. После этого соединения с SSH работали в течение секунды.
Network Settings -> Router Settings -> Enable DNS Relay [x]
Конфигурация по умолчанию перенаправляет каждый DNS-запрос поставщику. Это было медленно, хотя я соединялся с ssh pi@10.0.0.103. Подсказкой для решения была запись в /etc/resolv.conf "search upc.at", которая предоставляется через dhcp.
Руководство dlink гласит:
When DNS Relay is enabled, DHCP clients of the router will be assigned
the router's LAN IP address as their DNS server. All DNS requests that
the router receives will be forwarded to your ISPs DNS servers.
When DNS relay is disabled, all DHCP clients of the router will
be assigned the ISP's DNS server.
После выпуска dhcp на клиенте и сервере соединение через SSH снова было быстрым. НТН.
Ответы:
Есть несколько вещей, которые могут пойти не так. Добавьте,
-vvv
чтобы ssh напечатал подробный след того, что он делает, и посмотрите, где он останавливается.Проблема может быть на клиенте или на сервере.
Распространенная проблема на сервере - если вы подключаетесь с клиента, для которого время обратного поиска DNS истекло. («Обратный поиск DNS» означает возврат с IP-адреса клиентского компьютера к имени хоста. Это не очень полезно для безопасности, лишь немного полезно для диагностики попыток взлома из записей журнала, но конфигурация по умолчанию делает это в любом случае.) Чтобы отключить обратный поиск DNS, добавьте
UseDNS no
в/etc/ssh/sshd_config
(вам необходимо быть пользователем root на сервере; не забудьте перезапустить службу SSH впоследствии).Другая вещь, которая может пойти не так, это тайм- аут аутентификации GSSAPI . Если вы не знаете, что это такое, вы, вероятно, не полагаетесь на это; Вы можете отключить его, добавив строку
GSSAPIAuthentication no
к/etc/ssh/ssh_config
или~/.ssh/config
(это на стороне клиента).источник
UseDNS no
исправил это как очарование. Я нахожусь во внутренней сети без DNS-сервера для обработки обратного поиска внутренних IP-адресов.GSSAPIAuthentication
? (поиск в Google в течение 15 минут не пролил свет на это)Дайте время авторизации и посмотрите, сколько времени это займет:
Смотрите выше, это заняло около 45 секунд для входа в систему -------- ОЧЕНЬ МЕДЛЕННО
После того, как вы войдете в систему как root, отредактируйте файл sshd_config и измените запись UseDNS, как показано ниже. Здесь я использую sed вместо редактирования файла.
Давайте оценим процесс входа в систему и посмотрим, сколько времени это займет.
Видите, прошло уже 6 секунд, время для меня, чтобы ввести пароль.
источник
UseDNS no
в/etc/ssh/sshd_config
фиксированном мой вопросUseDNS no
РешеноЭто что-то не так с установкой Ubuntu.
Чтобы исправить это, вы должны изменить эту строку в /etc/nsswitch.conf :
И измените это для этого:
источник
nsswitch.conf
подобными проблемами - проблема, а не общее решение для замедления SSH.В моем случае проблему можно решить, перезапустив
systemd-logind
:Это упоминается на Serverfault .
Я должен делать это регулярно, хотя и не знаю, в чем причина проблемы.
источник
Отладочный вывод для ssh в моем случае просто остановился на 30 секунд, пока он «подключался». Решение оказалось связано с настройками DNS в моей локальной системе. Предыдущая конфигурация сети оставила в
/etc/resolv.conf
файле поддельный DNS-сервер . Замена его текущим DNS-сервером устранила проблему.источник
Для меня было изменение системы DNS на 127.0.0.1, до этого это был несуществующий хост.
И напишите следующее
источник
Я не знаю столько об окружающей среде автора, сколько хотел бы, но для других с подобной проблемой это может быть проблемой
sssd
, которую мы используем для привязки ldap mojo.Это происходит со мной:
Я должен получить доступ к серверу (в моем случае через консоль), а затем сделать:
После этого все просто работает. У меня не было времени, чтобы отладить основную причину, но этот бандит работает на меня.
источник
Я мог решить проблему медленного пароля через ssh - проблему, установив флажок Включить DNS-ретрансляцию в настройках DHCP на моем маршрутизаторе dlink. После этого соединения с SSH работали в течение секунды.
Конфигурация по умолчанию перенаправляет каждый DNS-запрос поставщику. Это было медленно, хотя я соединялся с ssh pi@10.0.0.103. Подсказкой для решения была запись в /etc/resolv.conf "search upc.at", которая предоставляется через dhcp.
Руководство dlink гласит:
После выпуска dhcp на клиенте и сервере соединение через SSH снова было быстрым. НТН.
источник