- Невозможно надежно зарегистрировать удаленное имя пользователя
- Вы можете записать IP-адрес соединения (см. Переменную SSH_CONNECTION)
У вас может быть стандарт, в котором они используют псевдоним для ssh, который регистрирует удаленное имя пользователя как часть процесса входа в систему, или где они сохраняют свое имя пользователя в файле .ssh / environment (но позволяя устанавливать среды). может потребоваться изменение конфигурации ssh / sshd).
alias sshblah = 'ssh blah "REMOTEUSER = $ USER; bash'
(За исключением того, что это не работает, и я не пытался выяснить, почему - и было бы иначе, если бы вы использовали tcsh и т. Д.).
Вы можете использовать передачу среды таким образом и выбрать, какие переменные вы разрешаете устанавливать. Вам нужно заставить пользователей установить альтернативу $ USER, например, $ REMOTE_USER = $ USER, а затем разрешить проход через $ REMOTE_USER. И вы полагаете, что они не установили его неправильно, или забыли установить его (вы можете справиться с этим случаем с небольшим раздражением, изменив этот механизм ).
Обратите внимание, что у вас почти есть , чтобы доверять клиенту, подключающемуся, чтобы сказать вам, кто пользователь - вы можете усложнить / раздражить подделку имени пользователя, но если вы не используете сертификаты для отдельных пользователей вместо общий логин / пароль, который они все знают, вы не можете проверить, кто подключен.