У меня сейчас эта проблема как минимум с 3 серверами.
При попытке подключиться к серверу через ssh с закрытым ключом с конкретным пользователем отображается приветственный баннер, занимает почти две минуты, а затем соединение закрывается.
ssh -i id_rsa prhtgvpi@hostname
***Welcome Banner***
Connection closed by xxx.xxx.xxx.xxx
Этого не происходит при аутентификации с паролем или с другими пользователями, с личным ключом или паролем.
Выполнение ssh -vvv также не показывает ничего полезного.
На стороне сервера я попытался запустить sshd в режиме отладки с помощью следующей команды:
sshd -ddd -p 2222
что дало мне возможность взглянуть, после того, как баннер отображается на стороне клиента, он приостанавливается со следующим сообщением:
debug3: Running AuthorizedKeysCommand: "/usr/bin/sss_ssh_authorizedkeys prhtgvpi" as "nobody"
На это уходит слишком много времени.
Я попробовал запустить команду отдельно, и это заняло почти 2 минуты.
Я думаю, что именно в этом проблема, но я не знаю, что делает эта команда, и почему это занимает так много времени, только для этого конкретного пользователя. Выполнение той же команды с другими пользователями работает нормально.
Просматривая некоторые форумы и задавая аналогичные вопросы, я обнаружил, что это как-то связано с тем, как sssd взаимодействует с IPA для аутентификации пользователей, что, как я знаю, у нас есть на нашем сервере.
Кто-нибудь знает, что делает этот скрипт?
Кстати, запустив его с помощью --debug (как некоторые источники говорят, но это не задокументировано на страницах руководства) не показывает ничего другого.
Заранее спасибо.
ОБНОВИТЬ:
Не уверен, что это решит проблему в долгосрочной перспективе (должно быть, что-то вызывает это), но попробовал это, и доступ был восстановлен:
sss_cache -E
systemctl restart sssd
Это было сделано с помощью информации от этот источник
Есть предположения?
Я бы поискал неправильно настроенный sssd
демон (официальная документация для RHEL 5.7).
Если вы не используете RedHat IPAM или его хранилище учетных данных, вы можете просто отключить проверку ключей хоста на SSSD (и добавление выполняется RedHat, а не частью OpenSSH). Просто убедитесь /etc/ssh/sshd_config
закомментирована эта строка:
# AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
Если вы хотите или должны продолжать работу SSSD, я бы увеличил уровень отладки в /etc/sssd/sssd.conf
чтобы попытаться получить больше информации об обмене SSSD и возможных источниках задержки.
Надеюсь, поможет!