pockestrap

Programmer's memo

GitHub に登録しているSSH公開鍵を、自分のサーバにも登録する

こんにちは。 GitHub に登録しているSSH公開鍵を取得、~/.ssh/authorized_keysに登録するツールgh-ssh-pubkey を作ったので紹介します。

github.com

インストール

Go 言語で書かれているため、go getでインストールすることができます。

go get github.com/pocke/gh-ssh-pubkey

また、リリースページからtarballをダウンロード、解凍して利用することも出来ます。

https://github.com/pocke/gh-ssh-pubkey/releases/latest

使い方

例えば、pockeアカウントのSSH公開鍵を取得したい場合は以下のように実行すると、公開鍵の一覧が表示されます。

$ gh-ssh-pubkey pocke

また、一度に複数のユーザーの公開鍵を取得することができます。

$ gh-ssh-pubkey pocke users2 user3 ...

そして、-wオプション(または--write)をつけることで、~/.ssh/authorized_keysに取得した公開鍵を登録することが出来ます。

$ gh-ssh-pubkey pocke -w
# or
$ gh-ssh-pubkey pocke --write

なにが嬉しいの?

建てたサーバーにSSH公開鍵を登録するというのは、案外めんどくさい作業です。
特に複数人のチームを組んで作業している時、全員分の設定を行うのは案外めんどくさいものです。

このツールを使うことで、そのような煩わしい作業を自動化することが出来ます(たぶん)。

またサーバーに置く必要があるものはバイナリ一つであるため、導入コストが低いです。 Golangバンザイ!