LoginSignup
11
11

More than 5 years have passed since last update.

GitHub に登録している SSH 認証鍵を使って CoreOS サーバにログインする

Last updated at Posted at 2014-09-03

cloud-config の users パラメータにて coreos-ssh-import-github を使う

#cloud-config

users:
  - name: <ログインユーザ名>
    coreos-ssh-import-github: <GitHub ユーザ名>
    groups:
      - docker

#cloud-config

users:
  - name: seigo
    coreos-ssh-import-github: spesnova
    groups:
      - docker

この部分の設定を cloud-config に追加して CoreOS を provisioning すれば、GitHub に登録した SSH 認証鍵を使ってログインできるようになる

$ ssh -i ~/.ssh/github_private_key seigo@core-01

GitHub Enterprise

#cloud-config

users:
  - name: seigo
    coreos-ssh-import-url: https://github-enterprise.example.com/api/v3/users/spesnova/keys?access_token=<TOKEN>

メモと感想

  • 開発チームが本番/ステージング問わずサーバに SSH ログインする機会は少なからずあり、鍵の管理をどうするかって問題がある

鍵を管理するサーバを用意すればいいんだけど、既に利用してる GitHub がそれを担えるならそれ有効活用すればいいじゃんって思った次第。 10 人くらいの開発チームだと鍵サーバの面倒まで見るの大変だから GitHub の Public Keys API 本当にありがたい。で、さらに公開鍵を外部から取得しておくってのが 1 行で済む CoreOS ありがたやという話。

GitHub API の Organizations API を使ってチームメンバーのユーザ名一覧を取得してきて、それを元に cloud-config の users パラメータを動的に設定すればメンバーが増えたとき楽できそう。(そのとき既存サーバはどう更新しよう...)

coreos-ssh-import-url フィールドを使えば、好きな URL から公開鍵を取得して配置させることができるから、flynn 作者の progrium が作ってる progrium/keychain.io で自前で鍵サーバ用意するとかも簡単にできるのかもしれない。

REF

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11