web-dev-qa-db-ja.com

OpenSSH5.3を使用して秘密鍵ファイルの暗号化アルゴリズムを変更する方法

ssh-keygenを使用して、パスフレーズを使用するときに使用される暗号化アルゴリズムがCBCモードのAES-128であるSSH秘密鍵ファイルを生成する必要があります。

リリースノート にあるように、これがOpenSSH> = 5.4のデフォルトであることを私は知っています。

パスフレーズで保護されたSSHプロトコル2の秘密鍵は、3DESではなくAES-128で保護されるようになりました。これは、新しく生成されたキーと、再暗号化されたキー(パスフレーズの変更など)に適用されます。

ただし、私の要件は、OpenSSH 5.3p1でこの暗号化アルゴリズムを使用することです(OpenSSHのバージョンを変更することはできません)。

OpenSSH 5.4以降にアップグレードせずに暗号化アルゴリズムをAES-128に変更するにはどうすればよいですか?

3
Tunaki

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
7
David Costa