秘密鍵のパスフレーズを変更するにはどうすればよいですか?


284

既存の公開/秘密キーペアがあります。秘密鍵はパスワードで保護されており、暗号化はRSAまたはDSAのいずれかです。これらのキーは、生成する種類でssh-keygenあり、通常はに保存され~/.sshます。

秘密鍵のパスワードを変更したいのですが。標準のUnixシェルでどのようにすればいいですか?

また、パスワードを単に削除するにはどうすればよいですか?空に変更するだけですか?

回答:


372

デフォルトのDSAキーのパスフレーズを変更するには:

$ ssh-keygen -p -f ~/.ssh/id_dsa

次に、プロンプトで古いパスフレーズと新しいパスフレーズ(2回)を入力します。(~/.ssh/id_rsaRSAキーがある場合に使用します。)

からの詳細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.
[...]

1
これは、Gentoo Linuxでnet-misc / openssh-5.2_p1-r2に同梱されているmanページからのものです。
マイクマズール

12
また、将来の怠け者のために、順序を逆にします:最初にクイックアンサー、後にマニュアルページ。
kch 2009

2
パスワードを変更できる場所と、答えを探す場所の両方を示しているので、答えは素晴らしいと思います。私は多くの人がsshキーを設定するのを手伝いましたが、彼らが実際にどのツールを使用したかを覚えているのは必ずしも簡単ではありません。その上、「ネットで答えを探すことは多くの人にとって最初の選択肢です
...-sastorsl

5
マシンがOpenSSH> = 6.5 を使用している-o場合、新しい秘密鍵形式(デフォルトでKDFとして暗号化)を有効にするオプション使用する必要があります。古いOpenSSHバージョンでは、PKCS#8を使用してより安全な秘密鍵ファイルを作成します
クインコメンダント

2
@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

GitHubなどのWebサービスに追加するために、公開キーをOS Xクリップボードにコピーします。

cat ~/.ssh/id_rsa.pub | pbcopy

新しく作成した公開キーを~/.ssh/authorized_keysリモートサーバーのファイルに追加します。リモート~/.sshフォルダー(700)と~/.ssh/authorized_keys(600)の両方の正しいアクセス許可を確認してください。ssh-copy-idこのプロセスを容易にするためにを使用して調査することをお勧めします。


3
ポスターは、パスフレーズを破棄して新しいものを生成するのではなく、キーのパスフレーズを変更する方法を尋ねました。そして彼らはOS Xに言及しなかった。
musicinmybrain

2
それはこれらの3つの問題のためではなかった場合、私はこの答えをupvotedているだろう:1.古いキーを削除すると、更新時にあなたがそれらをする必要がありますので、良いスタートではありませんauthorized_keys2.新しいキーを作成する方が古いパスワードを変更するよりも優れている理由については言及していません。3.質問でサポートされていないOSについて想定します。
カスペルド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.