酒と泪とRubyとRailsと

Ruby on Rails と Objective-C は酒の肴です!

SSH認証キーをBitbucket/GitHubに設定しよう! [Mac簡単手順]

BitbucketやGitHubのGitリポジトリにアクセスではSSH認証キーを使うことができます。このSSH認証キーを使ったアクセスのメリットは次の通りです。

* Pushするときにいちいちパスワードを打つ必要がなくなる
* セキュリティが向上する

今回はMacでSSH認証のための公開鍵と秘密鍵を生成して、GitHubやBitbucketに公開鍵を登録して、SSHでアクセスできるようにするまでの設定手順をできるだけわかりやすく書いていきます。もし、詰まった点とかあればコメントお願いします!

(04/11 22:30) 前回の修正でミスってた部分を修正

流れ

SSH認証キーの設定の流れは次の通りです。

(1) SSH認証の公開鍵と秘密鍵を作成
(2) Mac側(クライアント側)へのSSHキーの設定
(3) Bitbucketへの公開鍵の登録
(4) GitHubへの公開鍵の登録

(1) SSH認証の公開鍵と秘密鍵を作成

コンソールでssh keyを作成していきます。ここではのちのち躓くのをふぐためにパスフレーズを省略したSSH鍵を作成していきます。

こちらが作成の注意点。

* test@example.comの部分に自分のメアドを登録 
* 途中でパスフレーズ(passphrase)をきかれるが、Enterを押すだけ

コンソールでSSH Keyを作成するコマンドはこちら。

1
2
cd ~/.ssh
ssh-keygen -t rsa -C test@example.com

鍵の生成が完了したら2つのファイルができます。

id_rsa: 秘密鍵、他人には見られないようにする
id_rsa.pub: 公開鍵、Bitbucket/GitHubに渡す

秘密鍵のid_rsaのセキュリティを強化するために以下のコマンドを実行します。

1
chmod 600 id_rsa

鍵作成は以上です。

(2) Mac側(クライアント側)へのSSHキーの設定

鍵の管理を簡単にするために、~/.ssh/configに設定を追加します。

1
vim ~/.ssh/config

~/.ssh/configのファイルの末尾に以下の内容を追加してください。

1
2
3
4
5
6
7
8
9
Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/id_rsa
  User git

Host github
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git

(3) Bitbucketへの公開鍵の登録

ブラウザでBitbucketにアクセスしてユーザー登録/ログインしてください。

トップページの右上の人のアイコン => Manage Accountをクリック。

bitbucket_header_menu_2012-11-24

左側のメニューの「SSH keys」 => 「Add key」を選択。

bitbucket_add_ssh_key_20121124

ssh keyファイルをクリップボードにコピーするために、コンソールで以下のコマンドを実行。

1
pbcopy < ~/.ssh/id_rsa.pub

Label名を管理しやすい名前で登録。bitbuketのkeyのフォームにクリップボードから貼り付け => add keyをクリック。

bitbucket_modal_add_ssh_key-20121124

これで、ssh keyをbitbucketに登録できました。

(4) GitHubへの公開鍵の登録

ブラウザでGitHubにアクセスしてユーザー登録/ログインしてください。

トップページの右上の道具のアイコン(Account settings)をクリック。

github_header_menu_admin_2012-11-24

左側のメニューの「SSH keys」 => 「Add key」を選択。

github_select_add_SSH_Keys_20121124

フォームのTitleにssh keyの名前をセットして、コンソールで以下のコマンドを実行。

1
pbcopy < ~/.ssh/id_rsa.pub

このコマンドでコンソールからクリップボードにsshキーの中身がコピーされます。 そして、keyのところにクリップボードから貼り付け => add keyをクリック。

github_set_SSH_Keys_20121124

これで、ssh keyをGitHubに登録できました。

補足: GitHubで複数アカウントにssh接続するための手順

GitHubで複数アカウントを持っていて、CUIで使い分けるための手順がクラスメソッドさんのブログの中にありました。よければぜひご検討ください!

補足: SSH鍵/フォルダのパーミッション

毎回忘れるのでメモ。

1
2
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

このテーマに関連するオススメ本

Git ポケットリファレンスはGitやGitHubでの開発をする際に机の上においておくとほんとうに役に立ちます。特に本の中のチートシートが便利です!

* Git作業フロー&コマンド チートシート
* GitHub作業フロー&コマンド・設定 チートシート

このチートシートだけでもこの本を買う価値は十二分にあります!

Special Thanks

テツさんにコメントを頂いて、記述ミスを修正出来ました。ほんとうに有難いです!

SSHで公開鍵認証を使う

変更来歴

12/12/06 17:45 メモ:パスフレーズ入力の省略を追加
12/12/12 21:00 メモ: SSH鍵/フォルダのパーミッションを追加
13/05/06 17:30 フォルダ名の記述ミスを修正
13/08/19 17:00 記述ミスが散見されたため、書き直し 14/01/25 13:30 わかりにくかった部分をヒアリングして書き直し 14/04/11 22:30 前回の修正でミスってた部分を修正

おすすめの書籍