Я хотел бы включить следующее: Экземпляры Linux ec2 в AWS, которые выполняют аутентификацию LDAP для пользователей, у которых в настоящий момент нет домашнего каталога. У меня есть рабочий openLDAP в AWS для задачи
После аутентификации LDAP:
sshPublicKey
в LDAP и они могут войти в систему только в том случае, если их локальный sshPrivateKey соответствует . Я знаю, как выполнить аутентификацию LDAP ИЛИ получение открытого ключа через ldapsearch
, но я хочу сделать и то, и другое.
Сценарий, который я пытаюсь смягчить, - это когда сотрудник покидает компанию: я могу просто отключить его учетную запись в openLDAP, и даже если их открытый ключ существует на машинах, они не смогут их использовать, потому что они также не смогут выполнить ldap auth .
Я поискал на StackExchanges и не думаю, что нашел то, что ищу. Самое близкое, что я пришел, - это
аутентификация ключа SSH с использованием LDAP
Комбинация аутентификации ключа SSH и двухфакторной аутентификации
Аутентификация
Начиная с OpenSSH 6.2, в sshd_config (5) есть AuthorizedKeysCommand
и AuthorizedKeysCommandUser
. Это необходимо для аутентификации пользователя по его / ее sshPublicKey
, который хранится в LDAP. Вам даже не нужен ldapsearch для получения sshPublicKey - curl тоже может это сделать, поскольку он знает протокол ldap.
Когда AuthorizedKeysCommand
определено, но команда не возвращает открытый ключ, openssh сервер продолжает работу с AuthorizedKeysFile
, а затем с PasswordAuthentication
.
На AWS EC2 проверка пароля отключена, поэтому, если вы действительно этого хотите, вам необходимо включить ее в config. Но сегодня я бы не рекомендовал PasswordAuthentication.
Небольшое резюме: вам нужны эти параметры в / etc / ssh / sshd_config:
AuthorizedKeysFile
, AuthorizedKeysCommand
, AuthorizedKeysCommandUser
и PasswordAuthentication
.
Отключение пользователя
Как упоминалось в обсуждении под вопросом: вы можете использовать атрибут ldap loginShell
и изменить его значение на / bin / false
или / usr / sbin / nologin
или используйте другой атрибут и добавьте его в поисковый запрос. Это зависит от ваших настроек.
Каковы ваши настройки? nslcd (nss-pam-ldapd) , nss-pam-ldap , sssd или что-то еще?