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

Аннулирование неиспользуемых ключей ssh

Я использую одну учетную запись ssh для всех пользователей Subversion. Они отправляют мне свои открытые ключи, и я помещаю их в .ssh / authorized_key учетной записи svn, после чего они могут проверить код из Subversion, используя туннель ssh.

Пока все работает нормально. Проблема в том, что я хочу аннулировать ключи, которые не использовались какое-то время (скажем, один месяц). Кто-нибудь знает, как заставить sshd регистрировать открытый ключ при входе пользователя в систему?

Спасибо.

Все это задокументировано в sshd (8) в разделе «AUTHORIZED_KEYS FILE FORMAT».

В .ssh / authorized_keys2 добавьте что-нибудь вроде environment="SSHKEY=1" в начале каждой строки, поэтому должно получиться так:

environment="SSHKEY=1" ssh-dss AAAAB3N ...
environment="SSHKEY=2" ssh-rsa AAAAB3N ...

включить PermitUserEnvironment параметр в / etc / ssh / sshd_config и перезапустите sshd. Теперь вы можете добавить что-то вроде echo $SSHKEY >>.sshlog в ~ / .bashrc для регистрации используемых ключей ssh.

Но я думаю, что намного проще сделать резервную копию файла authorized_keys2, удалить из него все ключи и просто подождать, пока люди не позвонят / напишут по электронной почте / им, и вы спросите, почему svn не работает. Затем вы можете либо восстановить их ключ, либо попросить их повторно отправить вам свои ключи, если вы не уверены, какой ключ кому принадлежит. В качестве побочного эффекта вы узнаете, кто действительно работает. :)

Я думаю, что lastlog не будет очень полезным, так как JH говорит, что у него только одна учетная запись, и несколько реальных пользователей входят в систему с разными ключами (интересно, почему; таким образом вы потеряете ценную информацию об авторе в SVN).

В любом случае, по крайней мере, в моих системах (Debian / Ubuntu) sshd не регистрирует ключ, используемый для входа в систему по умолчанию, но кажется, что можно заставить его сделать это, используя «LogLevel Verbose» или что-то в этом роде в sshd_config. Затем вы можете написать / использовать простой синтаксический анализатор для используемых журналов и ключей хранения и определить на основе этой информации, которая вам нужна.

Добавить LogLevel VERBOSE в ваш sshd_config
Вы также можете изменить оборот журналов, чтобы у вас были журналы за последний месяц.

Обратите внимание, что он покажет отпечаток ключа в файле журнала. Ты можешь использовать ssh-keygen -l чтобы показать отпечаток ключевого файла.