Информация открытого ключа пользователя SSH

301
warvariuc

Я хочу узнать, какой пользователь SSH запустил мой скрипт на сервере через SSH, т.е. какой открытый ключ был использован для входа пользователя.

SSH_CONNECTION Переменная окружения дает мне IP-адрес клиента.

Я также хотел бы знать, какой открытый ключ от authorized_keysбыл использован, и его комментарий (обычно по электронной почте).

Я ищу решение без возни с sshdего журналами, чтобы мне не пришлось настраивать целевые серверы. Единственное, что известно наверняка, это то, что скрипт запускается на серверах Ubuntu. Также мой пользователь не имеет sudoправ.

1
Поскольку пользователь не может sudo, они входят в систему как их собственный пользователь? если так, то почему бы просто не посмотреть на пользователя, который запустил процесс? Если нет, вам нужно посмотреть, когда запускается оболочка, в которую вошел пользователь, и сопоставить ее с записью в логе в журнале sshd. djsmiley2k 6 лет назад 0
«Я хочу выяснить, какой пользователь SSH запустил мой скрипт на сервере через SSH, т.е. какой открытый ключ был использован для входа пользователя». Вы говорите, что несколько человек используют одну учетную запись SSH? grawity 6 лет назад 0
> Вы говорите, что несколько человек используют одну учетную запись SSH? да warvariuc 6 лет назад 0

1 ответ на вопрос

0
xenoid

/var/log/auth.log будет содержать следующую запись:

Accepted publickey for <userid> from <IP address> port 57762 ssh2: RSA SHA256: <43 random characters> 

«Случайные символы» - это отпечаток используемого открытого ключа. Вы можете указать отпечатки пальцев в вашем локальном файле авторизованных ключей, используя:

ssh-keygen -lf /home/user/.ssh/authorized_keys 

который перечисляет отпечаток каждого ключа вместе с комментарием ключа (который обычно является электронным письмом ..)

К сожалению, пользователи без прав администратора не имеют доступа к этому файлу. warvariuc 6 лет назад 0