Skip to content

Instantly share code, notes, and snippets.

@harupong
Last active December 19, 2015 19:19
Show Gist options
  • Save harupong/6005268 to your computer and use it in GitHub Desktop.
Save harupong/6005268 to your computer and use it in GitHub Desktop.

リポジトリごとに公開鍵認証を設定する

  1. 公開鍵認証用のパスフレーズ処理がめんどくさい(「/秘密のファイル/開くな.txtを開いてコピー&ペースト」)
  2. パスフレーズなしにするとセキュリティの懸念が!
  3. パスフレーズなしにして、用途限ったほうがよくね!? ←イマココ!

ということで、GitHub上にホストしてるOctopress用リポジトリ harupong/harupong.github.io 専用の公開鍵認証を設定してみた。

1. 専用の鍵を作る

以下のコマンドを実行すると、パスフレーズなし、鍵の種類:RSA、秘密鍵のファイル名 gh_octopress_id_rsa で、~/.ssh/ 配下に公開鍵と秘密鍵が生成される。

ssh-keygen -N "" -f ~/.ssh/gh_octopress_id_rsa

生成された鍵のフィンガープリントを確認するには

ssh-keygen -l -f ~/.ssh/gh_octopress_id_rsa.pub

を実行すればよい。

2. リモートに登録する

cat ~/.ssh/h_octopress_id_rsa.pub

鍵の利用を単一のリポジトリに限りたいので、Deploy Keys に上記コマンドの出力結果をコピペする。

3. リポジトリ別の設定をする

SSH設定ファイル ~/.ssh/config に以下の行を追加する

# Octopress
# git@octopress:harupong/harupong.github.io.git
Host octopress
User git
Hostname github.com
IdentityFile ~/.ssh/gh_octopress_id_rsa
UserKnownHostsFile ~/.ssh/known_hosts

4. テストする

ssh -T git@octopress

上記のコマンドを実行し、以下の様なメッセージが返ってくれば設定完了。

Hi harupong/harupong.github.io! You've successfully authenticated, but GitHub does not provide shell access.

メモ

  1. SSH Keys に鍵を登録すると、GitHub アカウント全体への鍵登録になるので、複数リポジトリにまたがるプロジェクトでない限り避けたほうが無難

参考URL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment