Метод устаревания ключа SSH.

10

Я использую свои ssh-ключи некоторое время. Я подумываю обновить пару ключей ssh ​​до более надежного шифрования, и я не знаю всех устройств, на которых зарегистрированы мои ключи.

Можно ли «отказаться» от ключа SSH локально, чтобы я получал предупреждение при аутентификации с использованием ключа устаревшего SSH?

tim0_o
источник
Пока вы работаете, я бы рекомендовал вам прекратить использовать один и тот же ключ SSH для нескольких хостов; это излишне увеличивает поверхность атаки, а также ценность этого ключа в случае взлома. Вместо этого используйте один ключ для каждого хоста, к которому вы подключаетесь; в идеале, используйте один ключ для каждой пары клиент-сервер (но это плохо масштабируется, если у вас много клиентских систем, подключающихся ко многим серверам). Мне также нравится помечать ключи с датой генерации в комментарии или названии ключа, что позволяет мне отслеживать, сколько им лет. Затем установите регулярное напоминание каждые 6-24 месяца или около того в своем календаре для обновления.
CVN
@ MichaelKjörling Я не согласен с первой частью твоего предложения. Создание множества пар ключей, в которых все закрытые ключи хранятся на одном компьютере с одинаковыми разрешениями, не обеспечивает каких-либо существенных улучшений безопасности. Если кто-то скомпрометирован, то, скорее всего, остальные скомпрометированы. И в этом случае наличие множества пар ключей просто означает, что будет больше работы с их поворотом, как только вы увидите причину для генерации новой пары ключей. Хорошим советом является добавление даты добавления в комментарий (я хотел ssh-keygenбы сделать это по умолчанию).
kasperd
@kasperd Вы делаете хорошую мысль. Полагаю, как всегда, это очень сильно зависит от вашей модели угроз. Я подозреваю, что неявно предполагал, что ключи будут иметь разные парольные фразы, и я вижу, что с большим количеством ключей не всегда может быть практичным, если вы не хотите добавить менеджер паролей к смеси. Это делает , однако позволяет что - то очень близко к тому , что описывает ФП, так как ключ может быть «устаревшим» очень легко , не влияя на другие соединения. Подозреваю, в конце концов, это вопрос личного вкуса.
CVn

Ответы:

9

Я не знаю ни одного способа сделать что-то подобное, но я вижу, как это было бы полезно. Я бы хотел прекратить добавлять устаревший ключ к моему SSH-агенту. Таким образом, каждый раз, когда он привыкнет, мне придется повторно вводить фразу-пароль. Если это что-то вроде «тьфу, еще один, чтобы исправить», то это будет напоминать мне каждый раз, когда мне нужно идти, вращайте мой ключ на этой машине тоже.

ombble
источник
В связи с этим может быть полезно (в зависимости от дистрибутива / DE) переместить файл в другой каталог, например , морской конек использует все ключи ~/. sshавтоматически.
Гюнтберт
1
Все, что делает это, должно быть сожжено. Это означает, что в тот момент, когда у вас есть более шести ключей (у меня есть пара дюжин), вы закончите с ошибкой аутентификации из-за слишком большого количества сбоев (каждый представленный и отклоненный ключ засчитывается в счетчик сбоев).
womble
5

Вы можете переместить старый ключ ssh в другое место (например, ~ / .ssh / deprecated_id_rsa), а затем создать новый ключ ssh с желаемыми свойствами в ~ / .ssh / id_rsa

Таким образом, ваш устаревший ключ по-прежнему будет доступен при необходимости ssh -i ~/.ssh/deprecated_id_rsa ..., но вы по умолчанию будете использовать новый ключ.

палец
источник