В настоящее время я настраиваю клиент LDAP для аутентификации пользователя на сервере. Разрешена только аутентификация по ключу SSH (аутентификация по паролю не разрешена).
Моя конфигурация SSH (/ etc / ssh / sshd_config)
PermitRootLogin no
AuthorizedKeysCommand /path/to/getsshkey.sh
AuthorizedKeysCommandUser root
PasswordAuthentication no
Мои другие файлы конфигурации:
Я добавил следующую строку в /etc/pam.d/common-auth
auth required pam_access.so
Я добавил следующую строку в /etc/pam.d/sshd
account required pam_access.so
Я добавил следующую строку в /etc/security/access.conf
-: ALL EXCEPT root (group1) (group2): ALL except LOCAL
Я также настроил все эти файлы (/etc/ldap.conf, /etc/nsswitch.conf, /etc/pam.d/common-session)
Для примера имя пользователя1 принадлежать группа 1
когда я выполняю эту команду
ssh -i private.pem username1 @ ip_address
Я получаю ошибку ниже в auth.log на сервере
Access denied for user username1 by PAM account configuration [preauth]
Почему отказано в доступе?
пожалуйста, помогите мне
лично я бы использовал nss_base_<map>
директивы, так как они немного более гибкие и работают с фильтрами pam. однако, поскольку вы находитесь так далеко, вот хороший способ определить вашу проблему:
Сначала проверьте информацию о LDAP, используя следующие команды
$ id
$ id YOURUSERNAME (will not show additional groups)
$ getent passwd
$ getent shadow
$ getent group
затем проверьте настройки вашего pam-фильтра в /etc/ldap.conf
и убедитесь, что имена хостов совпадают
увидеть LDAP документы для получения дополнительной информации.
измените DNS-имя или установите DNS-имя в настройке. войдите на клиентский компьютер, измените имя хоста hostnamectl set-hostname.