ssh-import-idコマンドでGitHubに登録した公開鍵をサーバに登録する

ssh-copy-id コマンドをご存知でしょうか。 サーバに公開鍵を登録するときに対象サーバの ~/.ssh/authorized_keys に公開鍵を手動で追加せずとも、手元の公開鍵を指定して自動で対象のサーバに追加してくれるコマンドです。

ssh-import-id コマンドはそれのGitHub版といった感じです。GitHubのほかにLaunchPadも対応していてそのサービスに登録している公開鍵をサービスから取得してきて登録してくれるのでとても便利です。

GitHubだと自分の公開鍵は https://github.com/kurochan.keys のように username.keys で取得できます。

使い方

Ubuntu18.04で試しました。ログインしたい対象サーバでコマンドを実行します。

GitHubの場合は gh:username, LaunchPadの場合は lp:username と打ちます。

$ ssh-import-id gh:kurochan
2019-05-07 14:37:19,163 INFO Authorized key ['2048', 'SHA256:f+9eGlHij0d5SwHYZWPkhafqQ5htuuINWrYxk8Cbipo', 'kurochan@github/11532103', '(RSA)']
2019-05-07 14:37:19,169 INFO Authorized key ['4096', 'SHA256:wKII8N+s47M+ggRhFbIrRpcVXjZCH48VVjs0TJq9XTU', 'kurochan@github/31733264', '(RSA)']
2019-05-07 14:37:19,169 INFO [2] SSH keys [Authorized]

ssh-import-id コマンドのソースコード

LaunchPadにリポジトリがあります。

launchpad.net