Допустим, у нас есть учетная запись пользователя под именем john на сервере CentOS (192.168.1.1), а на другой стороне есть пользователь, который владеет этой учетной записью и время от времени использует свою учетную запись из разных мест (ноутбуков) для SSH.
[jsmith@mac ~]# ssh john@192.168.1.1
[johnsmith@ubuntu ~]# ssh john@192.168.1.1
Теперь вопрос:
На стороне сервера, есть ли способ узнать фактический идентификатор локального пользователя, который запустил SSH клиент, чтобы инициировать SSH соединение, что означает jsmith для времени, когда пользователь использовал свою машину Mac и johnsmith для времени, когда пользователь использовал свою машину Ubuntu.
Примечания и косидерации:
Получить имя пользователя, который инициировал SSH соединение?
Спасибо,
Нет, не это надежно с точки зрения сервера. Насколько известно серверу, единственная информация, идентифицирующая пользователя, - это его логин.
Пользователь может решить отправить информацию о своей учетной записи удаленного пользователя. Например, если они вошли в систему с открытым ключом, поле комментария в ключе может идентифицировать их. Но не надежно - нет никаких ограничений на содержание этого поля. Я предполагаю, что они также могут послать удаленному пользователю USER, HOME или другие переменные окружения, которые могут идентифицировать их удаленную учетную запись, но это не то, что сервер может обеспечить.