ssh-keygen
を使用して、パスフレーズを使用するときに使用される暗号化アルゴリズムがCBCモードのAES-128であるSSH秘密鍵ファイルを生成する必要があります。
リリースノート にあるように、これがOpenSSH> = 5.4のデフォルトであることを私は知っています。
パスフレーズで保護されたSSHプロトコル2の秘密鍵は、3DESではなくAES-128で保護されるようになりました。これは、新しく生成されたキーと、再暗号化されたキー(パスフレーズの変更など)に適用されます。
ただし、私の要件は、OpenSSH 5.3p1でこの暗号化アルゴリズムを使用することです(OpenSSHのバージョンを変更することはできません)。
OpenSSH 5.4以降にアップグレードせずに暗号化アルゴリズムをAES-128に変更するにはどうすればよいですか?
ssh-keygen
にはパスフレーズの暗号化を指定するオプションがないため、構成ファイルを変更したりオプションを指定したりして、古いssh-keygen
を新しいバージョンのように動作させることはできませんが、OpenSSLキーを生成または変換します。
キーがRSAであると仮定します
openssl rsa -aes128 -in <3des_protected> -out <aes128_protected>
aES128キーの3des_protected
キーを変換します。パスフレーズを3回要求します。1回は古いキーを読み取るため、2回は新しいキーを設定するためです。
最初にプライベートパーツを作成します
openssl genrsa -aes128 -out <newkey>
次に、sshがchmod 600 <newkey>
に文句を言わないように権限を変更します
次に、公開鍵は、発行することによって秘密鍵から取得されます。
ssh-keygen -e -f newkey > newkey.pub