Наша установка: Сервер LDAP - OpenLDAP со схемами openssh и sudo . Сервер Bastion - принимает SSH отовсюду и аутентифицирует пользователей с помощью открытых ключей, хранящихся в LDAP (с использованием sssd) Целевой сервер [ы] - должен принимать SSH только от сервера Bastion и аутентифицировать пользователей с помощью открытых ключей хранится в LDAP (с использованием sssd)
Теперь эта настройка работает, и на целевом сервере ограничение выполняется через sshd AllowUsers
, например AllowUsers * @bastion_ip
Однако это стало проблемой, когда из-за проблем IDC бастион стал недоступен. Таким образом, все серверы становятся недоступными.
В качестве продолжения этой ситуации я думаю, есть ли способ применить подобное ограничение, но сохранить bastion_ip
в записи LDAP для пользователя (или в другой записи), что позволит быстро перемещаться на другой IP в случае возникновения подобных ситуаций.
Есть ли такой способ? Или какой-то обходной путь, о котором я не придумал?
Единственная похожая вещь (которая, однако, использует имя хоста, а не IP-адрес), которое поддерживает SSSD, - это свойство ldap_user_authorized_host для access_provider = ldap. См. Man sssd-ldap для получения дополнительных сведений.
Из комментария: Мы рассмотрели проблему с OP в IRC в интерактивном режиме, и оказалось, что pam-sss.so не был установлен в стеке PAM, что привело к тому, что поставщик доступа SSSD перестал работать. не называться вообще. Решение состоит в том, чтобы обновить конфигурации pam с помощью authconfig --enablesssdauth --update