Назад | Перейти на главную страницу

Как узнать, какой ключ использовался для входа в сеанс SSH

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

Первый шаг - определить, какой ключ используется.

Для этого вам нужно будет поднять LogLevel вашего sshd на VERBOSE.

logLevel VERBOSE

в /etc/ssh/sshd_config и перезапустите sshd. Это заставит sshd записать отпечаток ключа, используемого для входа, в настроенный файл журнала (/ var / log / secure, / var / log / auth и т. Д.). Вы получите сообщение, подобное этому

Dec  9 11:47:15 host sshd[32282]: Found matching RSA key: 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b

В 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b это отпечаток ключа, который используется для входа в систему.

Вы можете получить отпечаток определенного ключа с помощью команды

ssh-keygen -lf <keyfile> 

где keyfile - это открытый ключ

sshkeygen -lf /tmp/test.key
2048 21:02:4b:82:83:62:49:d7:5f:e0:8f:cf:ec:a3:5f:38 /tmp/test.key (RSA)

Вам нужно будет включить ведение журнала.

На стороне клиента "ssh -v" указывает, какой закрытый ключ был использован.

На стороне сервера уровни журнала по умолчанию будут показывать только то, что был использован открытый ключ (в отличие от аутентификации по паролю). Вам нужно будет установить уровень ведения журнала в sshd_config как минимум на VERBOSE.