Как изменить кодовую фразу личного ключа?
У меня есть пара открытых открытых /закрытых ключей, закрытый ключ защищен паролем, шифрование может быть либо RSA, либо DSA. Эти ключи являются тем видом, который вы создаете с помощью ssh-keygen
и обычно хранятся в ~/.ssh
.
Я хочу изменить пароль секретного ключа. Как мне это сделать, на стандартной оболочке unix?
Также, как я могу просто удалить пароль? Просто измените его на пустой?
(Я знаю, они называют это фразой. Педантичные сиськи.)
2 ответа
Чтобы изменить кодовую фразу на вашем ключе DSA по умолчанию:
$ ssh-keygen -p -f ~/.ssh/id_dsa
затем укажите свою старую и новую кодовую фразу (дважды) в запросах. (Используйте ~/.ssh/id_rsa
, если у вас есть ключ RSA.)
Подробнее из man ssh-keygen
:
[...]
SYNOPSIS
ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
[-f output_keyfile]
ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
[...]
-f filename
Specifies the filename of the key file.
[...]
-N new_passphrase
Provides the new passphrase.
-P passphrase
Provides the (old) passphrase.
-p Requests changing the passphrase of a private key file instead of
creating a new private key. The program will prompt for the file
containing the private key, for the old passphrase, and twice for
the new passphrase.
[...]
Удалите общедоступные /закрытые ключи SSH:
rm ~/.ssh/id_rsa*
Восстановите ключевую пару, выбирая новую кодовую фразу:
ssh-keygen -t rsa -f ~/.ssh/id_rsa
Добавьте вновь созданный закрытый ключ в свой брелок для ключей OS X, чтобы сохранить ключевую фразу и автоматически ее разблокировать:
ssh-add -K ~/.ssh/id_rsa
Скопируйте открытый ключ в буфер обмена OS X для добавления в веб-службы, такие как GitHub и т. д.
cat ~/.ssh/id_rsa.pub | pbcopy
Добавьте вновь созданный открытый ключ в файл ~/.ssh/authorized_keys
удаленного сервера. Обязательно соблюдайте правильные разрешения как для удаленной папки ~/.ssh
(700), так и ~/.ssh/authorized_keys
(600). Для облегчения этого процесса вы можете изучить с помощью ssh-copy-id
.