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