Почему запрос пароля вводится навсегда, когда я захожу по SSH на сервер Ubuntu 9.05?
49919
rcampbell
Ответ: На самом деле он выполнял обратное DNS-разрешение. Основываясь на предложениях, приведенных ниже, и этой статье, я добавил «UseDNS no» в свой sshd_config, перезагрузил ssh, и теперь сразу появляется запрос пароля.
Когда я захожу по SSH на свой сервер, мне выдается стандартное приглашение «login as:», а затем приглашение «user @ host's password:». По какой-то причине второй показ всегда занимает некоторое время. Мой сервер не загружен и обычно выполняет команды довольно быстро.
Теперь мы говорим всего 10 секунд или около того между тем, как я нажимаю Enter для имени пользователя, и когда появляется второе приглашение, но когда вы делаете это много, это раздражает. Я подозреваю, что Ubuntu ищет мою учетную запись пользователя, но у нее <5 учетных записей на всю установку.
Обновление @Josh / var / log / messages содержит этот гем:
Oct 28 16:54:59 Athena sudo: pam_sm_authenticate: Called Oct 28 16:54:59 Athena sudo: pam_sm_authenticate: username = [msmith] Oct 28 16:54:59 Athena sudo: Warning: Using default salt value (undefined in ~/.ecryptfsrc) Oct 28 16:55:01 Athena sudo: Passphrase key already in keyring; rc = [1] Oct 28 16:55:02 Athena sudo: Passphrase key already in keyring; rc = [1] Oct 28 16:55:02 Athena sudo: There is already a key in the user session keyring for the given passphrase.
Где msmith - мое имя пользователя. Что все это значит?
Вы знаете (или хотите узнать), как использовать анализаторы пакетов, такие как Wireshark или `tcpdump`? Это может сказать вам, действительно ли сервер использует все это время сам или общается с клиентом.
Arjan 15 лет назад
0
Возможно ли, что это делает обратный поиск DNS на вашем IP? Вы можете проверить результаты онлайн, если клиент использует публичный IP-адрес, или использовать что-то вроде следующего с вашего сервера:
dig -x CLIENT_IP_ADDRESS
Есть что-нибудь /var/log/messages?
У меня есть предупреждение в журнале: Предупреждение: используется значение соли по умолчанию (не определено в ~ / .ecryptfsrc). Я разместил весь раздел на вопрос для вашего анализа.
rcampbell 15 лет назад
0
@ rrc7cz, так что насчет обратного DNS? Ваш IP-адрес разрешает что-то? (Я сомневаюсь, что это поможет, так как чаще всего требуется несколько рукопожатий, чтобы решить, следует ли отображать запрос имени пользователя. Быстрый тест с использованием Wireshark на моем Mac показывает, что SSH запускается задолго до того, как запрашивается имя пользователя. Но * возможно * некоторые клиенты спрашивают это имя пользователя, прежде чем пытаться подключиться ...?)
Arjan 15 лет назад
0
У меня была проблема с обратным поиском DNS, которая замедляла мои соединения ssh в нескольких установках ... Если вы обнаружите, что это так, закомментируйте строку «UseDNS yes» в / etc / ssh / sshd_config и перезапустите sshd.
John Barrett 15 лет назад
3
@john, ты помнишь, замедлилось ли это * после * ввода имени пользователя?
Arjan 15 лет назад
0
@Arjan Хм, хорошая мысль ... Я обычно 'ssh user @ host', поэтому запрос пароля все равно занял какое-то время. Запрашивает ли имя пользователя часть сеанса аутентификации ssh или клиент должен знать это, прежде чем пытаться установить соединение? Наблюдая за поведением клиента ssh, я подозреваю последнее. Я буду немного читать и обновлять ...
John Barrett 15 лет назад
0
@ Арджан ван Бентем: Большое спасибо за помощь с этим ответом! Вы заслуживаете кредит больше, чем я!
Josh 15 лет назад
0
«UseDNS no» мне тоже помогло! UpVotes за вопросы и ответы!
Grizly 12 лет назад
1
13
secureBadshah
Вероятно, обратное разрешение DNS (сервер пытается получить имя клиента по IP-адресу) требует времени. Можете ли вы проверить, есть ли в / etc / ssh / sshd_config параметр «VerifyReverseMapping yes»? Установите для него «VerifyReverseMapping no» и проверьте, помогает ли.
Редактировать: Кажется, что VerifyReverseMapping устарела, и useDNS - это новая конфигурация в sshd_config .
Это может быть правдой, но имеет ли смысл тогда, что приглашение имени пользователя показывается сразу, после чего требуется 10 секунд для запроса пароля?
Arjan 15 лет назад
0
Клиент может разрешить имя сервера и отправить запрос, поэтому сразу отображается приглашение пользователя. Но затем сервер пытается получить имя клиента (обратное разрешение DNS). Это может истечь, если входная доза не существует. Параметр «VerifyReverseMapping» в sshd-config контролирует эту проверку.
secureBadshah 15 лет назад
0
Это было причиной медлительности в моем случае, поэтому, по крайней мере, в некоторых случаях это имеет смысл. Имейте в виду, что по умолчанию `yes`, так что не просто ищите, если установлен` useDNS` :)
Nanne 12 лет назад
1
8
В вашем файле sshd_config установите GSSAPIAuthentication = нет
Вы всегда можете войти в систему с именем пользователя, чтобы начать с:
ssh user@server
это имеет какое-либо влияние?
Если вы используете PuTTY, его можно настроить в разделе Соединение -> Данные в качестве имени пользователя для автоматического входа.
Хотя это, очевидно, не ускоряет время, необходимое для появления запроса пароля, оно определенно ускоряет весь процесс входа в систему. Спасибо
rcampbell 15 лет назад
1
3
DigitalRoss
Если у вас нет подходящих доменных имен для всего, просто придумайте и вставьте /etc/hosts. Посмотрите, пойдет ли это быстрее ... не беспокойтесь, .comпросто используйте «Боб, Кэрол, Тед, Алиса» или все, что вы хотите ...
Если проблема заключается в тайм-аутах решателя, тогда это будет исправлено.
1
tylerl
Помните, что клиент также выполнит проверку обратного DNS, что может занять до 30 секунд или больше, если обратное DNS-сопоставление не существует с определенными конфигурациями разрешения.
В одном /etc/ssh/ssh_configили в ~/.ssh/configнаборе, CheckHostIP noчтобы отключить этот поиск на стороне клиента.
Смотрите man 5 ssh_configдля более подробной информации.
У меня возникла такая же проблема при входе в систему сборки Linux с помощью Putty под Windows. Добавление IP-адреса моего окна Windows в / etc / hosts на машине linux решило проблему.
Добро пожаловать в Super User - мы обычно предпочитаем, чтобы вы включали детали, а не только ссылки. Не могли бы вы отредактировать свой ответ, чтобы добавить больше информации по ссылке?
Simon Sheehan 12 лет назад
3
1
qrikko
Просто для записи, я столкнулся с той же проблемой, когда ssh быстро шел из дома на мой домашний сервер (в основном используя его для git), но на работе потребовалось бы около 10-20 секунд, чтобы получить запрос пароля.
Я должен был выключить UseDNS noи перезапустить sshdsudo systemctl restart sshd.service. Тогда это работает из всех мест.
Я знаю, что на вопрос дан ответ и он принят, но я хотел добавить информацию, так как мне пришлось «активно» установить ее на « нет», чтобы заставить ее перестать использовать dns.
0
Anu V Das
Please check if nslcd (LDAP daemon) is running:
ps -ef | grep nslcd
It can cause this problem.
If it is running stop it and remove from the list of services