Назад | Перейти на главную страницу

Может ли Bash сказать мне, какой открытый ключ SSH использовался для аутентификации?

Скажем, я хочу отслеживать свои root пользователей. У каждого из них есть уникальный закрытый ключ, и их открытые ключи хранятся в /root/.ssh/authorized_keys.

Учитывая, что каждый пользователь входит в систему со своим уникальным ключом, как я могу узнать из сеанса BASH, какой ключ использовался для аутентификации? Я пробовал смотреть на переменные среды при входе в систему, но не вижу ничего, что коррелирует мой сеанс с моим открытым ключом.

Вы можете добавить имя пользователя к публичному ключу в ~/.ssh/authorized_keys на сервере и экспортировать его как значение среды:

environment="REALUSER=realusername" ssh-dsa AAA...

Это установит переменную среды REALUSER, которая затем будет доступна для использования в bash. Это будет работать, только если PermitUserEnvironment установлено значение true в sshd_config