web-dev-qa-db-ja.com

openssh-PuTTYからauthorized_keysへのsshキーの追加

同僚からLinuxサーバー上のアカウントのauthorized_keysファイルに追加して、そのアカウントにアクセスできるようにするためのsshキーが提供されています。

ファイルは次のようになります。

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20160816"
AAAAB3NzaC1yc2EAAAABJQAAAQEApoYJFnGDNis/2oCT6/h9Lzz2y0BVHLv8joXM
s4SYcYUVwBxNzqJsDWbikBn/h32AC36qAW24Bft+suGMtJGS3oSX53qR7ozsXs/D
lCO5FzRxi4JodStiYaz/pPK24WFOb4sLXr758tz2u+ZP2lfDfzn9nLxregZvO9m+
zpToLCWlXrzjZxDesJOcfh/eszU9KUKXfXn6Jsey7ej8TYqB2DgYCfv8jGm+oLVe
UOLEl7fxzjgcDdiLaXbqq7dFoOsHUABBV6kaXyE9LmkbXZB9lQ==
---- END SSH2 PUBLIC KEY ----

authorized_keys(まあ、sshd)のmanページは、ファイルが各キーが1行を占めることを期待していることを明確にしています。だから私はこのキーを単一行形式に変換する必要があると思いますか?どうすればこれを達成できますか?

9
Michael Slade
  • BEGINおよびEND行を削除します
  • 必要に応じて、Comment行を削除します(後でコメントとして追加する場合は、これをメモしておくことができます)。
  • 残りのすべての改行を削除します
  • 行の先頭に「ssh-rsa」というテキストを追加します

キーは次のようになります。

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEApoYJFnGDNis/2oCT6/h9Lzz2y0BVHLv8joXMs4SYcYUVwBxNzqJsDWbikBn/h32AC36qAW24Bft+suGMtJGS3oSX53qR7ozsXs/DlCO5FzRxi4JodStiYaz/pPK24WFOb4sLXr758tz2u+ZP2lfDfzn9nLxregZvO9m+zpToLCWlXrzjZxDesJOcfh/eszU9KUKXfXn6Jsey7ej8TYqB2DgYCfv8jGm+oLVeUOLEl7fxzjgcDdiLaXbqq7dFoOsHUABBV6kaXyE9LmkbXZB9lQ== rsa-key-20160816

このワンライナーは、コメントの追加を除いて、上記のすべてを実行します(これはGNU sedを想定しています):

sed key.pub -e 's/---- B.*/ssh-rsa /;/Comment:/d;'|sed ':a;N;$!ba;s/\n//g;s/---.*//'
13
Craig Watson