web-dev-qa-db-ja.com

SSH公開鍵形式

次の形式の公開鍵があります。

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "somename-20060227"
AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]==

---- END SSH2 PUBLIC KEY ----

通常、次のような形式のキーが表示されます。

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]

Authorized_keysファイルの最初のキーをコピーすることはできますか、それとも2番目のキーのように変更する必要がありますか?最初のものはPUTTYgenによって生成され、2番目のものはssh-keygenによって生成されたと思います。

11
Hans

sSH2互換形式をOpenSSH互換形式に変換するには、ssh-keygen -iを使用します。

man ssh-keygenから:

-iこのオプションは、暗号化されていない秘密(または公開)鍵ファイルをSSH2互換形式で読み取り、OpenSSH互換の秘密(または公開)鍵をstdoutに出力します。 ssh-keygenは、RFC 4716 SSH公開鍵ファイル形式も読み取ります。このオプションを使用すると、いくつかの商用SSH実装からキーをインポートできます。

16
alexus

公開鍵をopenssh規則に変換する必要があります。

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== somename-20060227

また、キーが正確に1行を占め、コピー中に改行が挿入されていないことを確認してください。

4
Dmitri Chubarov

これは完全で正しい答えです:

ssh-keygen -i -m PKCS8 -f public-key.pem

4
Boeboe

authorized_keysに適した形式でキーを書き換えるだけです。

keytype keybody keyname

末尾の「==」は、キーの長さを必要な長さに保つために必要なプレースホルダーであることに注意してください。

2
Kondybas