Может ли Bash сказать мне, какой открытый ключ SSH использовался для аутентификации?
Допустим, я хочу отслеживать мой root
пользователи. Каждый из них имеет уникальный закрытый ключ, а их открытые ключи хранятся в /root/.ssh/authorized_keys
,
Учитывая, что каждый пользователь входит в систему со своим уникальным ключом, как я могу определить в сеансе BASH, какой ключ использовался для аутентификации? Я попытался просмотреть переменные среды, когда я вхожу в систему, но не вижу ничего, что соотносит мою сессию с моим открытым ключом.
1 ответ
Вы можете добавить имя пользователя к открытому ключу в ~/.ssh/authorized_keys
на сервере и экспортируйте его как значение среды:
environment="REALUSER=realusername" ssh-dsa AAA...
Это установит переменную окружения REALUSER, которая затем будет доступна для использования в bash. Это будет работать только если PermitUserEnvironment
установлен в true в sshd_config