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

Определите, когда кто-то последний раз входил на сервер с помощью ключа

Я пытаюсь отследить, когда в последний раз пользователь входил на сервер Linux с определенным ключом. Итак, пользователь secure имеет 5 ключей в ~/.ssh/authorized_keys, как я могу отследить, когда использовался каждый ключ и какой IP использовался для доступа к серверу?

В идеале я мог бы видеть, что ключ 1 последний раз использовался 5 дней назад из 127.0.0.1, ключ 2 использовался 10 минут назад из 10.0.0.5, ключи 3 и 4 никогда не использовались, ключ 5 использовался 2 недели назад из 8.8 .8.8.

Вам нужно увеличить LogLevel в /etc/ssh/sshd_config к VERBOSE и перезапустите sshd. Это приведет к тому, что sshd будет регистрировать отпечаток используемого ключа в любом файле журнала, который ваш sshd настроен для использования, например

Jan  7 22:46:17 host.lan sshd[5998]: Connection from 192.168.254.187 port 57062
Jan  7 22:46:17 host.lan sshd[5998]: Found matching RSA key: 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b
Jan  7 22:46:17 host.lan sshd[5998]: Found matching RSA key: 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b
Jan  7 22:46:17 host.lan sshd[5998]: Accepted publickey for user from 192.168.254.187 port 57062 ssh2

Сопоставить отпечаток ключа с ключом и делать то, что вы хотите, должно быть довольно просто.