SSH公開鍵形式


11

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

---- 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によって生成されたと思います。

回答:


16

ssh-keygen -iSSH2互換形式をOpenSSH互換形式に変換するために使用します。

からman ssh-keygen

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


4

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

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

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


4

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

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


1
「RFC4716」はデフォルトのkey_formatであり、-mはこのインスタンスではINPUTのフォーマットを指定するためのものであり、出力ではないため、正しいと思われます。
JimNim 2018年

技術的にはalexusの「正しい」答えは間違っていません。その答えは完全な構文を詳しく説明しているのではなく、どのプライマリフラグを使用するかを指定するだけなので、manページで-i syntax / usageを確認する必要があります。
JimNim 2018年

2

に適した形式でキーを書き直してくださいauthorized_keys

keytype keybody keyname

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


4
末尾の「==」はBase64パディングです
Andrew

RSAかDSAかをどのようにして知ることができますか?
ハンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.