SSH2 のフォーマット変換
先日の、『git のリポジトリに ssh を利用してアクセスできるようにする』というエントリーから微妙に続いています.
私の作業環境は mac なので、sshキーの生成を ssh-keygen を利用していたのですが、共同作業をして頂いている方が windows 環境なもので、SSHキーの交換に少し困りました.
頂いた公開鍵を見てみると以下の様なフォーマットになっていました.
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "${コメント文}" ${キーの文字列} ---- END SSH2 PUBLIC KEY ----
ssh-keygenを利用してキーを作成した場合
ssh-rsa ${キーの文字列} ${コメント文}
となっているのでずいぶんと形が違います.
最初、authorized_keys に整形して書いてしまえばいいのか?なんてことも頭をよぎったのですが、調べてみたところキーの変換を行う必要があるようですね....
キーの変換は
ssh-keygen -i -f ${展開してもらったファイル} > ${出力先}
といった感じに行いました.
あとは変換後のキーをサーバ上の authorized_keys に書き加えれば ssh アクセスが出来るという感じになります.
以下、調べた情報をメモとして残しておきます
暗号鍵の記述形式
OpenSSH形式
-----BEGIN RSA PRIVATE KEY-----
SECSH(ssh.com)形式
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
PuTTy形式
PuTTY-User-Key-File-2: ssh-rsa
参考
◯ puttygenで作成した鍵がGitHubやSSHで利用できない時の対応
http://qiita.com/pink/items/ada9fa6236594f8fc5e9
大変参考にさせていただきました.
◯ [bash]puttyで作成した公開鍵をopenssh(GitHubなど)キーへ変換する方法
http://to-developer.com/blog/?p=1143
キーの変換はこちらを参考にさせていただきました.