ssh-keygenで生成される秘密鍵のヘッダ文字列が変わった話
ssh-keygenで生成される秘密鍵のヘッダ文字列が変わった話:
ものすごく小さなトラブルでしたが、ケーススタディとして書き残しておきます。
AWS OpsWorksにデプロイ用のSSH秘密鍵が登録できない。
OpsWorksに新しいAppを作成して、Application SourceとしてプライベートGitHubリポジトリに配置したコードを使おうとした。
リポジトリURLは
そこで
などと鍵を生成し、
1. 生成された公開鍵(.pubの方)をGitHubリポジトリのデプロイ鍵として登録
2. 生成された秘密鍵(.pubじゃない方)をOpsWorksに登録
していくわけだが、手順2が通らなかった。曰く、赤文字で
最近のSSH秘密鍵のヘッダ/フッタ形式が変更されたのだが、OpsWorks側がまだこれに対応していないのが原因。
鍵本体の仕様は変更されていないので、秘密鍵ファイルを開いて手作業でヘッダ部分の
ものすごく小さなトラブルでしたが、ケーススタディとして書き残しておきます。
起きた問題
AWS OpsWorksにデプロイ用のSSH秘密鍵が登録できない。OpsWorksに新しいAppを作成して、Application SourceとしてプライベートGitHubリポジトリに配置したコードを使おうとした。
リポジトリURLは
git@github.com:<ユーザ名>/<リポジトリ名>
な形式、もちろんプライベートリポジトリなのでssh鍵を使った認証が必須です。そこで
$ ssh-keygen -t rsa -f deploykey
1. 生成された公開鍵(.pubの方)をGitHubリポジトリのデプロイ鍵として登録
2. 生成された秘密鍵(.pubじゃない方)をOpsWorksに登録
していくわけだが、手順2が通らなかった。曰く、赤文字で
Please provide a valid SSH key
と。
原因と対処法
最近のSSH秘密鍵のヘッダ/フッタ形式が変更されたのだが、OpsWorks側がまだこれに対応していないのが原因。変更後
-----BEGIN OPENSSH PRIVATE KEY-----
変更前
-----BEGIN RSA PRIVATE KEY-----
OPENSSH
を RSA
に置換してあげれば良い。これでOpsWorks側の鍵バリデーションが通るようになります。
コメント
コメントを投稿