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

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

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

1 ответ

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

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

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

Другие вопросы по тегам