Я пытаюсь отследить, когда в последний раз пользователь входил на сервер 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
Сопоставить отпечаток ключа с ключом и делать то, что вы хотите, должно быть довольно просто.