У меня есть пара открытого и закрытого ключей. Закрытый ключ защищен паролем, а шифрование может быть RSA или DSA. Эти ключи создаются с помощью ssh-keygen
и обычно храните под ~/.ssh
.
Я хочу изменить пароль закрытого ключа. Как мне это сделать в стандартной оболочке Unix?
Кроме того, как мне просто удалить пароль? Просто поменять его на пустой?
Чтобы изменить парольную фразу в ключе 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
чтобы облегчить этот процесс.