githubからローカルのUbuntuアカウントに公開鍵をインポートする

githubからローカルのUbuntuアカウントに公開鍵をインポートする

新しい Ubuntu (18.04) サーバーをセットアップしているのですが、インストール中に github から公開キーをインポートできることに気付きました。セットアップは完了したので、さらにユーザーを作成したいと思います。可能であれば、github から公開キーをインポートし続けるのが理想的です。インストール プロセス以外で、ユーザーの公開 github プロファイルからキーをインポートする機能をトリガーする方法はありますか?

答え1

質問を投稿してしばらくして、答えを見つけました。SSHssh-import-idキーをインポートできる特別なコマンドがあります。ssh-import-id のマニュアルページ非常によく説明されています。ランチパッド上の ssh-import-id同じように。

基本的な使い方:

# import keys from github
ssh-import-id-gh <username>

これが他の人の役に立つことを願っています。

答え2

GitHubはこれを提供しますAPIエンドポイントダウンロードして解析できます。残念ながら、これは JSON 形式でオブジェクトを返すため、解析が少し難しい場合があります (特にシェルの場合)。

幸いなことに、ユーザーの公開 SSH キーを取得するための別のエンドポイントがあります。

https://github.com/<username>.keys

wgetこれを使用すると、解析せずに非常に簡単にキーをダウンロードして追加できます。

wget -O - https://github.com/myuser.keys >> /home/myuser/.ssh/authorized_keys

このコマンドを使用するには、そのユーザーのホームディレクトリへの書き込み権限が必要であることに注意してください。オプションでtee -a、権限が保証されていない場合は、次のようにすると簡単になります。

wget -O - https://github.com/myuser.keys | sudo tee -a /home/myuser/.ssh/authorized_keys

関連情報