Как я могу изменить мою личную ключевую фразу?
У меня есть пара открытых / закрытых ключей. Закрытый ключ защищен паролем, и шифрование может быть 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-keygen
установлен, вы также можете использовать
openssl
прямо
key="/path/to/your.key"
algo="-des3" # or -aes256 or ...
openssl rsa $algo -in "$key" -out "$key.new"
# and replace old key with new one
mv "$key.new" "$key"
Удалите ваши открытые / закрытые ключи 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
чтобы облегчить этот процесс.