Вопрос: ssh: «Доступ запрещен конфигурацией учетной записи PAM» для одного пользователя без полномочий root, но не другого


На виртуальной машине, которую я инициализирую, я могу войти в систему как один пользователь без полномочий root (admin), но не другое (tbbscraper) через SSH с аутентификацией с открытым ключом. Единственное сообщение об ошибке, которое я могу найти в любом файле журнала, - это

Sep 18 17:21:04 [REDACTED] sshd[18942]: fatal: Access denied for user tbbscraper by PAM account configuration [preauth]

На стороне клиента синдром

$ ssh -v -i [REDACTED] tbbscraper@[REDACTED]
...
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: [REDACTED]
debug1: Authentications that can continue: publickey
debug1: Trying private key: [REDACTED]
debug1: read PEM private key done: type RSA
Connection closed by [REDACTED]

Изменение «tbbscraper» на «admin» позволяет успешно войти в систему: debug1: Authentication succeeded (publickey). вместо сообщения «Соединение закрыто».

Это, похоже, не проблема с разрешениями ...

# for x in admin tbbscraper
> do ls -adl /home/$x /home/$x/.ssh /home/$x/.ssh/authorized_keys
> done
drwxr-xr-x 3 admin admin 4096 Sep 18 17:19 /home/admin
drwx------ 2 admin admin 4096 Sep 18 16:53 /home/admin/.ssh
-rw------- 1 admin admin  398 Sep 18 17:19 /home/admin/.ssh/authorized_keys
drwxr-xr-x 3 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper
drwx------ 2 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper/.ssh
-rw------- 1 tbbscraper tbbscraper  398 Sep 18 17:18 /home/tbbscraper/.ssh/authorized_keys

# cmp /home/{admin,tbbscraper}/.ssh/authorized_keys ; echo $?
0

... и проблема контроля доступа на уровне PAM ...

# egrep -v '^(#|$)' /etc/security/*.conf
#

... поэтому ни один из существующих ответов на подобные вопросы, похоже, не будет применяться. Единственное доказательство, которое у меня есть, это:

root@[REDACTED] # su - admin
admin@[REDACTED] $

но

root@[REDACTED] # su - tbbscraper
su: Authentication failure
(Ignored)
tbbscraper@[REDACTED] $

который предлагает некоторые более масштабные проблемы PAM, но я не могу найти ничего явно неправильного с материалом в /etc/pam.d, Есть идеи?

VM - это экземпляр EC2, ОС - Debian 7.1 (AMA) Amazon.


21
2017-09-18 17:40


Источник


/etc/pam.d/sshd пожалуйста - GioMac
@GioMac Ничего, я нашел проблему. - zwol


Ответы:


В конце концов, это оказалось односимвольной опечаткой в /etc/shadow, Найди отличие:

admin:!:15891:0:99999:7:::
tbbscraper:!::15966:0:99999:7:::

Правильно, после восклицательного знака на tbbscraper линия. Это заставляет все поля над одним и заставляет PAM думать, что аккаунт истек 8 января 1970 года.


25
2017-09-18 17:58



Спасибо за публикацию. Это было полезно для меня: я вручную создал запись пользователя в / etc / passwd и забыл добавить соответствующую запись / etc / shadow. - spazm
@spazm Спасибо за комментарий. Это было полезно для меня: я вручную скопировал пользователей с другого компьютера и забыл скопировать запись / etc / shadow одного пользователя без пароля. - Jayen


Спасибо, что разместили свой вопрос. Я получал ту же ошибку, но моя проблема не была связана с теневым файлом. Я нашел свое исправление и хотел опубликовать ответ, а также для кого-либо другого. Этот вопрос о сервере возникает первым.

Попробуйте проверить /etc/security/access.conf !

Мы используем Active Directory для аутентификации, но мне нужно войти в систему в качестве локального пользователя, не являющегося пользователем AD (jenkins). Мой босс изначально установил окно с этой строкой в /etc/security/access.conf:

+:root:ALL
-:ALL:ALL

Я изменил его на следующий, и теперь работают входе в систему; Мне даже не нужно было перезапускать какие-либо сервисы.

+:jenkins:ALL
+:root:ALL
-:ALL:ALL

5
2018-02-28 17:11





У меня такая же проблема сегодня утром, но сервер аутентифицирует пользователей в Active Directory. Оказывается, срок действия пароля пользователя истек.


2
2017-11-11 16:28



Тот же феномен, отличный источник информации об учетной записи пользователя :-) Возможно, я должен был подать ошибку против ssh и / или PAM два года назад, прося более четкую регистрацию Зачем попытка входа в систему была отклонена; есть аргумент безопасности для того, чтобы не сообщать человеку, который сделал попытка его отказа, но это не относится к системным журналам. - zwol


Имел то же сообщение об ошибке. Заблокировал sshd и перезапустил его в режиме отладки

    /usr/sbin/sshd -ddd

это указывало на причину:

    debug3: User autossh not allowed because account is locked
            ...
    input_userauth_request: invalid user <username> [preauth]

Проверенная учетная запись:

    passwd -S <username>

который показал, что учетная запись заблокирована (флаг «L») Не заблокируйте учетную запись, установив новый пароль:

    passwd <username>

Готово.


2
2017-08-11 12:03





В моем случае я переименовал локальных пользователей CentOS 6 и забыл переименовать их в / etc / shadow (которые не имеют пароля без проверки ключа, не всплывали в моем сознании), поэтому записи для новых имен пользователей были просто отсутствует в / etc / shadow. В / var / log / secure он дал мне ошибку unix_chkpwd и Access denied by PAM:

    unix_chkpwd[12345]: could not obtain user info (user2)
    sshd[12354]: fatal: Access denied for user user2 by PAM account configuration

1
2017-10-26 16:03



usermod (8) - ваш друг в следующий раз ;-) - Michael Shigorin


В моем случае это было нежелательным ударом «/ etc / tcb / USER / shadow» после коррупции root4s ext4 в «интересных» условиях; он выглядел довольно texty, поэтому не был обнаружен во время первоначального экзамена (не удается переустановить узел прямо сейчас, но ему придется).


0
2018-05-08 06:55





У меня была такая же проблема, и ни один из предложенных вариантов не работал. Но я нашел на одном из форумов (https://ubuntuforums.org/showthread.php?t=1960510) «обходной путь», который отлично работал.

редактировать /etc/ssh/sshd_config и установить

UsePAM no

Хотя это, вероятно, не настоящее решение, потому что что-то определенно не так с моей машиной (вчера это работало нормально!), Это, по крайней мере, работает.


0
2018-05-25 07:52