
Вот мне и интересно, как мне разместить этот файл в моем репозитории 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
.