puttyで作ってもらった公開鍵をコメントをつけてauthorized_keysに追加したい

Windowsのputtyユーザに、ただ公開鍵をいただくよう依頼すると、この形式でいただいてしまいます。作り直してもらうのも面倒、こちらで変換するのも面倒。サクっとユーザディレクトリのauthorized_keysに設定する方法をメモしておきます。

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20200605"
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==
---- END SSH2 PUBLIC KEY ----

変換して、所有者をコメントに追記して、authorized_keysを開いて貼り付けというちょっとしたステップがいちいち面倒です。そんな時はコマンド1行ですっきり解決。もう面倒くさがる必要はありません。

本来のやり方は、先ずopensshの形式に変換。

$ ssh-keygen -i -f id_rsa.pub > id_rsa_openssh.pub

もう一手で変換した公開鍵をcatし、コメントと繋げてauthorized_keysに書き込みます。

$ echo `cat id_rsa_openssh.pub` someone@example.com >> ~/.ssh/authorized_keys

これを組み合わせると出来上がり。

$ echo `ssh-keygen -i -f id_rsa.pub` someone@example.com >> ~/.ssh/authorized_keys
$ cat ~/.ssh/authorized_keys
ssh-rsa xxxxxxxxxxxxxxx中略xxxxxxxxxxxxxx== someone@example.com

ミスると空行などが書き込まれるので注意を。念のため。

閑話休題、コロナ禍で宿題がたっぷり出ている息子。「めんどくせー」という私の口癖がうつってしまい、こう言い聞かせています。――「めんどくせー」と言いながら、手を動かすと終わるよ。がんばれ!

自分にいつも言い聞かせていることだった。ああ、めんどくせー。