Проверить личность удаленного пользователя после ввода ssh-логина без пароля?


После SSH-входа без пароля, есть ли какой-либо способ в Linux восстановить личность удаленного пользователя, который вошел в систему?

Я хотел бы выполнить некоторые другие действия в логин-скриптах, в зависимости от того, с какого удаленного хоста/userid я делаю ssh-логин.

1 4

1 ответ:

Имя пользователя исходной системы не записывается, если вы не используетечто - то вроде этого ответа - т. е. не нажимаете имя пользователя как часть соединения. Удаленный хост кодируется в переменной окружения SSH_CLIENT, поэтому его можно определить.

Вы можете попробовать finger удаленную систему, но для этого требуется, чтобы fingerd была запущена, что в наши дни не является обычной услугой.

Вам больше повезет, если вы будете использовать определенные ключи для пользователей, которые могут иметь параметры, установленные в начале ключ типа environment="NAME=value" в файле authorized_keys для определения типа подключенного удаленного пользователя. например

environment="REMOTEUSER=fred" ssh-rsa <blahblahkey> <comment>

Использование опции environment в ключе будет работать только в том случае, если вы задали PermitUserEnvironment в конфигурации sshd, в противном случае строка в authorized_keys будет проигнорирована, и вам будет предложено ввести пароль.