公開鍵秘密鍵 SSH2 OpenSSH の違い

ssh2 クライアント は沢山あります
それぞれで公開鍵認証を行うと

フォーマットが違います

とか言われて、なんのこっちゃ?と思う人が多いかもしれません

実は、公開鍵秘密鍵のフォーマットには2種類
・本家SSH社の定義したフォーマット
OpenSSHの定義したフォーマット

SSH社のフォーマットを使っているクライアント
Poderosa(旧 ValaTerm)

OpenSSHのフォーマットを使っているクライアント
Linux 標準搭載のsshコマンド
UTF-8 Teraterm Pro with TTSSH2

その他独自形式
PuTTy (中身はSSH社のものに近い)

という感じになっている

実際に中身はというと多倍長整数がいくつか入っているだけです
ただ、その入れ方に違いがあって、
お互いで鍵を使えなかったりします

どう違うかというと
SSH社のものは資料が見当たらなかったのでよくわからないです
すみません・・・

OpenSSHのものは
ASN.1形式で
SEQUENCE 内部に INTEGERが複数定義されている形を取っています。
RSA鍵の定義内容はRFC2313にありました。
DSA鍵のは見当たりません。
ソースが公開されているクライアントのソース読んだ感じだと、
RSAよりINTEGERの数が多いだけの感じです。

単純に両者を見分けるには、ファイルが

        • BEGIN SSH2 ENCRYPTED PRIVATE KEY ----

で始まれば本家