Проверить личность удаленного пользователя после ввода ssh-логина без пароля?
После SSH-входа без пароля, есть ли какой-либо способ в Linux восстановить личность удаленного пользователя, который вошел в систему?
Я хотел бы выполнить некоторые другие действия в логин-скриптах, в зависимости от того, с какого удаленного хоста/userid я делаю ssh-логин.
1 ответ:
Имя пользователя исходной системы не записывается, если вы не используетечто - то вроде этого ответа - т. е. не нажимаете имя пользователя как часть соединения. Удаленный хост кодируется в переменной окружения
SSH_CLIENT
, поэтому его можно определить.Вы можете попробовать
finger
удаленную систему, но для этого требуется, чтобыfingerd
была запущена, что в наши дни не является обычной услугой.Вам больше повезет, если вы будете использовать определенные ключи для пользователей, которые могут иметь параметры, установленные в начале ключ типа
environment="NAME=value"
в файлеauthorized_keys
для определения типа подключенного удаленного пользователя. напримерenvironment="REMOTEUSER=fred" ssh-rsa <blahblahkey> <comment>
Использование опции
environment
в ключе будет работать только в том случае, если вы задалиPermitUserEnvironment
в конфигурации sshd, в противном случае строка вauthorized_keys
будет проигнорирована, и вам будет предложено ввести пароль.