У меня есть пара открытых / закрытых ключей. Закрытый ключ защищен паролем, и шифрование может быть 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.
[...]
Это из справочной страницы, поставляемой с net-misc / openssh-5.2_p1-r2 в Gentoo Linux.
Майк Мазур
12
Кроме того, ради будущего ленивого человека, я бы изменил порядок: сначала быстрый ответ, потом страница руководства.
KCH
2
Я думаю, что ответ отличный, так как он показывает, где вы можете изменить пароль и где искать ответ. Я помог многим людям настроить ssh-ключи, и для них на самом деле вспомнить, какой инструмент они использовали, не всегда легко. Кроме того, поиск ответа в сети является первым вариантом для многих ...
@FranciscoLuz команда в моем ответе относится к ключу DSA. Если у вас есть ключ RSA, значит, ваша команда верна. Я добавил объявление к ответу, чтобы решить эту проблему.
Майк Мазур
-9
Удалите ваши открытые / закрытые ключи 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чтобы облегчить этот процесс.
Афиша спрашивала, как изменить ключевую фразу на своем ключе, не выбрасывать ее и сгенерировать новую; и они никогда не упоминали OS X.
musicinmybrain
2
Я бы проголосовал за этот ответ, если бы не эти три вопроса: 1. Удаление старых ключей не является хорошим началом, так как они понадобятся при обновлении authorized_keys. 2. Вы не упомянули, почему создание новых ключей лучше, чем изменение паролей на старых. 3. Вы делаете предположения об ОС, что не поддерживается вопросом.
-o
опцию, чтобы включить новый формат закрытого ключа (bcrypt как KDF по умолчанию). В более старых версиях OpenSSH используйте PKCS # 8 для более безопасных файлов закрытых ключей .Удалите ваши открытые / закрытые ключи SSH:
Восстановите пару ключей, выбрав новую фразу-пароль:
Добавьте только что созданный закрытый ключ в цепочку ключей OS X, чтобы сохранить фразу-пароль и автоматически разблокировать ее:
Скопируйте открытый ключ в буфер обмена OS X для добавления в веб-сервисы, такие как GitHub и т. Д.
Добавьте созданный вами открытый ключ в
~/.ssh/authorized_keys
файл удаленного сервера. Убедитесь в правильности разрешений для удаленной~/.ssh
папки (700) и~/.ssh/authorized_keys
(600). Вы можете захотеть исследовать использование,ssh-copy-id
чтобы облегчить этот процесс.источник
authorized_keys
. 2. Вы не упомянули, почему создание новых ключей лучше, чем изменение паролей на старых. 3. Вы делаете предположения об ОС, что не поддерживается вопросом.