Настройка OpenSSH
Создадим пустой файл списка отзыва.
$ sudo touch /etc/ssh/sshd_revoked_keys
Важно выполнить это первым шагом или вы можете рискнуть тем, что аутентификация с открытым ключом будет отклонена для каждого пользователя.
Отредактируйте файл конфигурации sshd_config для включения списка отзыва.
$ vim /etc/ssh/sshd_config [...] RevokedKeys /etc/ssh/sshd_revoked_keys [...]
Перезагрузите сервер OpenSSH.
$ sudo systemctl reload ssh
Проверьте логи auth.log на наличие проблем, так как пропавший файл списка отзыва может быть легко обнаружен.
$ tail /var/log/auth.log [...] Sep 16 23:39:02 buster sshd[909]: error: Error checking authentication key RSA SHA256:dzfaHFy/dUBtH03VtjnZABbVDxlzEvxKR/a3eOgqvZQ in revoked keys file /etc/ssh/sshd_revoked_keys: No such file or directory [...]
Простой список отзыва открытых ключей
Это прямое решение, так как вам нужно хранить открытые ключи в файле списка отзыва.
Отобразим отпечаток ключа:
$ ssh-keygen -l -f sshkey.pub 2048 SHA256:dzfaHFy/dUBtH03VtjnZABbVDxlzEvxKR/a3eOgqvZQ no comment (RSA)
Добавим открытый ключ в файл списка отзыва.
$ cat sshkey.pub | sudo tee -a /etc/ssh/sshd_revoked_keys
$ tail /var/log/auth.log [...] Sep 17 00:00:32 buster sshd[977]: error: Authentication key RSA SHA256:dzfaHFy/dUBtH03VtjnZABbVDxlzEvxKR/a3eOgqvZQ revoked by file /etc/ssh/sshd_revoked_keys [...]
Список отзыва ключей OpenSSH
Используйте пользовательский двоичный формат OpenSSH Key Revocation List (KRL) для управления отозванными ключами, поэтому полученный файл очень маленький.
Создадим пустой файл списка отзыва ключей (KRL).
$ sudo ssh-keygen -k -f /etc/ssh/sshd_revoked_keys
$ ssh-keygen -l -f sshkey.pub 2048 SHA256:dzfaHFy/dUBtH03VtjnZABbVDxlzEvxKR/a3eOgqvZQ no comment (RSA)
Проверьте, отозван ли указанный ключ.
$ sudo ssh-keygen -Q -f /etc/ssh/sshd_revoked_keys sshkey.pub sshkey.pub (sshkey.pub): ok
Отзовите этот конкретный ключ.
$ sudo ssh-keygen -k -u -f /etc/ssh/sshd_revoked_keys sshkey.pub Revoking from sshkey.pub
Убедитесь, что ключ был отозван.
$ sudo ssh-keygen -Q -f /etc/ssh/sshd_revoked_keys sshkey.pub sshkey.pub (sshkey.pub): REVOKED
$ tail /var/log/auth.log [...] Sep 17 00:15:33 buster sshd[1197]: error: Authentication key RSA SHA256:dzfaHFy/dUBtH03VtjnZABbVDxlzEvxKR/a3eOgqvZQ revoked by file /etc/ssh/sshd_revoked_keys [...]
Дополнительные замечания
Прочтите справочные страницы sshd_config, ssh-keygen и проверьте формат списка отзыва ключей OpenSSH для получения дополнительной информации.
Я не использовал доверенные сертификаты, так как это тема для другой статьи.