Внезапно, в последние несколько дней, требуется очень много времени (до 30 секунд), чтобы установить SSH-соединение с большинством, но не со всеми моими инстансами Amazon EC2. Проблема была поднята с Amazon, чтобы посмотреть, не окружает ли она их, но мне интересно, есть ли что-нибудь, что я могу проверить на самих инстансах.
Большую часть времени уходит на шаг:
Аутентификация с открытым ключом «import-openssh-key»
Попав в экземпляр, смена пользователей через
su - newusername
зависает бесконечно.
Другие команды (ps, top, find) работают быстро, как всегда.
Мое приложение, работающее на экземплярах (веб-служба), очень отзывчиво. Нагрузка на ЦП, ввод-вывод и диск на экземплярах не очень высока.
РЕДАКТИРОВАТЬ:
Последние несколько строк вывода из strace su - myusername как предложил Дэйв:
connect(4, {sa_family=AF_INET, sin_port=htons(389), sin_addr=inet_addr("W.X.Y.Z")}, 16) = -1 EINPROGRESS (Operation now in progress)
poll(
Эта строка повторяется с интервалом в 10 секунд ... голосование( в течение 10 секунд, затем повторяет тот же результат.
Указанный IP-адрес является общедоступным IP-адресом нашего LDAP-сервера.
Проблема заключалась в том, что экземпляры пытались разрешить сервер LDAP через общедоступный IP-адрес, а не через частный. Открытие общедоступного IP-адреса для других экземпляров решило проблему.
Обычно, когда случаются странные зависания, я могу отследить это до RDNS - либо на хосте, с которого вы подключаетесь, он не настроен, либо есть проблема с сервером, разрешающим RDNS.
Однако, насколько мне известно, su не следует ничего делать с RDNS.
Что происходит, когда вы отслеживаете процесс с помощью strace?
РЕДАКТИРОВАТЬ:
Похоже, время ожидания подключения к серверу LDAP истекло. Вы подтвердили, что сервер LDAP работает с другими системами? Возможно, вы сможете отслеживать трафик на сервере LDAP с помощью:
tcpdump -v tcp port ldap
Чтобы понять, что происходит при подключении.