У меня есть инфраструктура MIT-Kerberos / OpenLDAP. Я хочу ограничить ssh-доступ для моих пользователей, чтобы только ssh-пользователи имели доступ к моим серверам. Когда у меня только что был OpenLDAP без krb5, я использовал pam_access для ограничения пользователей:
+ : usersinternal : ALL
- : ALL EXCEPT root : ALL
который сделал именно то, что я хотел; и до сих пор делает для PAM-логинов.
Моя проблема заключается в том, что все пользователи могут войти в систему с помощью единого входа:
me@workstation ~ % ssh test@intern.example.com
test@intern.example.com's password:
Permission denied, please try again.
# user cannot login
me@workstation ~ % kinit test
Password for test@EXAMPLE.COM:
me@workstation ~ % ssh test@intern.example.com
test@intern:~$ ## login successful, i am on the server
Connection to intern.example.com closed.
вот часть GSSAPI моего sshd_config:
root@intern ~ # grep -i gssapi /etc/ssh/sshd_config
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
GSSAPIKeyExchange yes
Я думаю, это потому, что когда пользователи успешно аутентифицируются на krb5, PAM-часть не используется; так что это хороший способ ограничить, кто может войти; желательно через группу или что-то.