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にリポジトリがあります。

ssh-import-[name] という命名規則スクリプトを作ってパスを通しておくと拡張ができるようです。便利ですね。

launchpad.net