LINEで送る
Pocket

現時点でのOpenSSHのバージョン(Mac)は OpenSSH_8.1p1, LibreSSL 2.7.3 ですが、今回いつものように鍵を作成したところ、CircleCIに鍵を設定して、その形式だと追加できないぜとエラーが起きました。秘密鍵の中身を確認するとヘッダー形式が BEGIN OPENSSH PRIVATE KEY と変わったので、もろもろ調べてみました。


■旧OpenSSLのPEM形式で作成される秘密鍵

上記のように BEGIN RSA PRIVATE KEY となっていれば従来の形式ですね。


■新OpenSSLのPEM形式で作成される秘密鍵

なるほどこれは初だな。ドキュメントをググる。


■ssh-keygen OpenBSD manual page server

https://www.openssh.com/releasenotes.html

https://man.openbsd.org/ssh-keygen

ssh-keygen will by default write keys in an OpenSSH-specific format. This format is preferred as it offers better protection for keys at rest as well as allowing storage of key comments within the private key file itself. The key comment may be useful to help identify the key. The comment is initialized to “user@host” when the key is created, but can be changed using the -c option.

It is still possible for ssh-keygen to write the previously-used PEM format private keys using the -m flag. This may be used when generating new keys, and existing new-format keys may be converted using this option in conjunction with the -p (change passphrase) flag.

After a key is generated, instructions below detail where the keys should be placed to be activated.

ssh-keygenは、-mフラグを使用して、以前に使用されたPEM形式の秘密鍵を書き込むことができます。

なるほどOpenSSH 7.8で仕様が変わったようですね。 -m PEM と指定すれば従来の形式で作成できそう。


■新バージョンで旧OpenSSLのPEM形式で作成する

これでOK。ちなみに新バージョンの形式を旧PEM形式に変換する場合は以下。

上記のように旧形式に変換されました。


■まとめ

間違って新バージョンで鍵を作っても旧形式に変換できるので問題なく利用できますな。しばらく鍵とか作らなかったのでこれは知らんかった。なかなかハマった。

LINEで送る
Pocket

カテゴリー: SSH

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社のインフラをECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください