Выпиливание ключа из authorized_keys в Linux

· На чтение уйдёт 1 минута · (123 слова)

Иной раз думаешь, как же всё замечательно, когда доступ на серверы по ключу. Через authorized_keys. Лепота! Но однажды это случается: ключ может быть скомпрометирован, человек — уволен, или ещё чего похуже. Я придумал для себя такой способ поиска ключей:

locate authorized_keys | xargs grep логин

На выходе получаем список файлов и совпадения в них. А чтобы впоследствии, если в списке всё хорошо, использовать этот список для другой команды, можно немножко видоизменить эту:

locate authorized_keys | xargs grep логин | awk -F : '{print $1}'

Тогда на выходе получим что-то вроде:

/mnt/hdd1/private/100/home/incoming/.ssh/authorized_keys
/mnt/hdd1/private/102/root/.ssh/authorized_keys

Финальный вариант получится таким:

for i in `locate authorized_keys | xargs grep логин | awk -F : '{print $1}'`; do sed -i -e 's#.*логин@.*##' $i;  done

Проверить — так же, как уже делали раньше.

Полезное