Доступ запрещен для конкретного пользователя из-за настройки учетной записи PAM


10

Я пытаюсь настроить беспарольный логин от machineAдо machineBмоего пользователя , davidкоторый уже выходит. Вот что я сделал для генерации ключей аутентификации:

david@machineA:~$ ssh-keygen -t rsa
........

david@machineB:~$ ssh-keygen -t rsa
........

После этого я скопировал id_rsa.pub (/home/david/.ssh/id_rsa.pub)ключ machineAв machineB authorized_keysфайл (/home/david/.ssh/authorized_keys)ключа.

А потом я вернулся на экран входа в систему machineA и запустил команду ниже, и она работала нормально без каких-либо проблем. Таким образом, я смог войти machineBкак Давид, не спрашивая пароль.

david@machineA:~$ ssh david@machineB

Вопрос:

Теперь я создал новый пользователь machineAи machineBодновременно выполнив эту команду useradd golden. И теперь я хочу ssh без пароля от этого goldenпользователя в machineBот machineA. Я сделал тот же самый шаг, что и выше, но он не работает.

david@machineA:~$ sudo su - golden
golden@machineA:~$ ssh-keygen -t rsa
........

david@machineB:~$ sudo su - golden
golden@machineB:~$ ssh-keygen -t rsa
........

А потом я скопировал id_rsa.pubключ /home/golden/.ssh/id_rsa.pubдля золотого пользователя из machineAк machineB authorized_keysфайлу /home/golden/.ssh/authorized_keys. И когда я пытаюсь ssh, это дает мне:

golden@machineA:~$ ssh golden@machineB
Connection closed by 23.14.23.10

Что не так? Это не работает только для пользователя, который я создал вручную с помощью этой команды useradd. Я использую Ubuntu 14.04. Есть ли какие-либо настройки, которые мне нужно включить для этого пользователя, которого я создал?

В machineB auth.logфайле ниже показано, что я вижу, когда запускаю эту команду с компьютера A ssh -vvv golden@machineBдля входа

Jan  3 17:56:59 machineB sshd[25664]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan  3 17:56:59 machineB sshd[25664]: pam_access(sshd:account): access denied for user `golden' from `machineA'
Jan  3 17:56:59 machineB sshd[25664]: pam_sss(sshd:account): Access denied for user golden: 10 (User not known to the underlying authentication module)
Jan  3 17:56:59 machineB sshd[25664]: fatal: Access denied for user golden by PAM account configuration [preauth]

Есть ли что-то, что я пропускаю? Ниже показано, как выглядит моя структура каталогов:

golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -lrtha
total 60K
-rw------- 1 golden golden  675 Nov 22 12:26 .profile
-rw------- 1 golden golden 3.6K Nov 22 12:26 .bashrc
-rw------- 1 golden golden  220 Nov 22 12:26 .bash_logout
drwxrwxr-x 2 golden golden 4.0K Nov 22 12:26 .parallel
drwxr-xr-x 2 golden golden 4.0K Nov 22 12:34 .vim
drwxr-xr-x 7 root     root     4.0K Dec 22 11:56 ..
-rw------- 1 golden golden  17K Jan  5 12:51 .viminfo
drwx------ 2 golden golden 4.0K Jan  5 12:51 .ssh
drwx------ 5 golden golden 4.0K Jan  5 12:51 .
-rw------- 1 golden golden 5.0K Jan  5 13:14 .bash_history


golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 56K
-rw------- 1 golden golden  675 Dec 22 15:10 .profile
-rw------- 1 golden golden 3.6K Dec 22 15:10 .bashrc
-rw------- 1 golden golden  220 Dec 22 15:10 .bash_logout
drwxr-xr-x 7 root     root     4.0K Jan  4 16:43 ..
drwx------ 2 golden golden 4.0K Jan  5 12:51 .ssh
-rw------- 1 golden golden 9.9K Jan  5 12:59 .viminfo
drwx------ 6 golden golden 4.0K Jan  5 12:59 .
-rw------- 1 golden golden 4.6K Jan  5 13:10 .bash_history

Обновить:

В machineA:

cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash

В machineB:

cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash

Не могли бы вы показать /etc/passwdзапись для пользователя?
PBM

обновил вопрос с деталями. Во-первых, я сначала создал пользователя без пароля, а затем через некоторое время я создал пароль для этого золотого пользователя.
user5447339

Pam_sss дает неизвестного пользователя. Вам необходимо проверить, как sssd настроен в вашей системе. В некоторых случаях sssd настроен для кэширования учетных данных, поэтому вам может потребоваться аннулировать кеш / перезапустить sssd
VenkatC

@VenkatC Как мне перезапустить sssd в моей системе? Это все виртуальные машины, поэтому я не уверен, как это было настроено, когда мы получили эту систему от какой-то другой команды.
user5447339

sysyemctl перезапустите sssd - должен работать на сервере на базе systemd
VenkatC

Ответы:


13

Проблема заключается в конфигурации стека PAM. Ваш хост настроен на, pam_accessи конфигурация по умолчанию не позволяет внешний / SSH доступ для нового пользователя golden, даже если ваши ключи настроены правильно.

Добавление goldenпользователя в, /etc/security/access.confкак показано ниже, решило проблему.

+:golden:ALL

Чтобы увидеть больше информации, прочитайте, man access.confгде объясняется каждое поле этого файла. Посмотрите на раздел примеров, чтобы понять порядок и значения LOCAL, ALL и т. Д.


В моем случае я должен был быть добавлен в группу, которая получила разрешение на доступ access.conf.
Вольфганг

8

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

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

UsePAM no

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


-3

Пожалуйста, добавьте следующее в /etc/security/access.conf:

-:ALL:EXCEPT root

3
Добро пожаловать в Unix.SE! Не могли бы вы отредактировать свой ответ, чтобы объяснить, чем он лучше существующих?
Стивен Китт

@StephenKitt Я попробовал оба вышеупомянутых ответа, но они не работали для меня. Когда я добавляю -:ALL:EXCEPT rootв систему /etc/security/access.conf, он начал работать.
IRSHAD AHMED MOHAMMED

Пожалуйста, попробуйте перезапустить winbindd и oddjobd. Надеюсь, это поможет. Спасибо,
IRSHAD AHMED MOHAMMED

1
@IRSHADAHMEDMOHAMMED Можете ли вы объяснить, почему это сработало и какие другие последствия для безопасности это имело бы?
Кусалананда
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.