Безопасное хранение файла 'id_rsa.pub' в моем публичном репозитории dotfiles

Безопасное хранение файла 'id_rsa.pub' в моем публичном репозитории dotfiles

Вот мне и интересно, как мне разместить этот файл в моем репозитории dotfiles на GitHub?

Мне надоело генерировать новый ключ SSH каждый раз, когда я перехожу на новый компьютер или переустанавливаю ОС и т. д.

Так как же лучше всего это сделать? Я полагаю, что достаточно назначить файлу парольную фразу при генерации ключа? Это должно зашифровать его или сделать его непригодным для использования без него. Этого достаточно?

Если нет, есть ли способ зашифровать файл, чтобы я мог безопасно загрузить его в Интернет без каких-либо опасений, но при этом использовать его в любой момент, указав правильный пароль?

решение1

id_rsa.pubявляется открытым ключом и не нуждается в защите вообще. Фактически, этопотребностибыть опубликованным для работы. Я предполагаю, что вы на самом деле говорите о id_rsa(закрытом ключе) в этом вопросе.

Вам, конечно, не нужно генерировать новый ключ SSH каждый раз, когда вы находитесь на новом компьютере или переустанавливаете ОС. Вы можете скопировать этот файл с одного компьютера на другой. Или, если вы временно находитесь на другом компьютере, где вы не хотите хранить свой ключ, вы можете удаленно войти на компьютер, где хранится ключ, ssh -Aи загрузить ключ в вашего локального агента с помощью ssh-add. (Вы должны делать это только в том случае, если вы доверяете root на компьютере, который вы временно используете.)

У вас также должна быть парольная фраза для вашего SSH-ключа (если у вас ее нет, добавьте ее прямо сейчас или, что еще лучше, посчитайте ключ скомпрометированным и замените его!), в противном случае любой, кто даже на короткое время получит доступ к компьютеру, где хранится ключ, получит к нему доступ.

Если вам неудобно вручную копировать файл с одного компьютера на другой, вы можете сохранить свой SSH-ключ в облаке (github или где-то еще). Лично я бы предпочел этого не делать.

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

РЕДАКТИРОВАТЬ: Подробнее о совместном использованииid_rsa

Даже если id_rsaон бесполезен для тех, у кого нет соответствующей парольной фразы, вам все равно не следует им делиться.

Ключ SSH можно рассматривать как своего рода форму двухфакторной аутентификации. id_rsaФайлЧто-то, что у тебя есть. Парольная фраза — это Something You Know. Только вместе они полезны. Я говорю «вроде», потому что вы на самом деле не носите файл id_rsaс собой, как это было бы с компонентом Something You Have настоящей системы двухфакторной аутентификации.

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

Связанный контент