Наша установка: сервер 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