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を作成するコマンドはこちら。
cd ~/.ssh |
鍵の生成が完了したら2つのファイルができます。
id_rsa: 秘密鍵、他人には見られないようにする id_rsa.pub: 公開鍵、Bitbucket/GitHubに渡す
秘密鍵のid_rsa
のセキュリティを強化するために次のコマンドを実行します。
chmod 600 id_rsa |
鍵作成は以上です。
🎃 (2) Mac側(クライアント側)へのSSHキーの設定
鍵の管理を簡単にするために、~/.ssh/configに設定を追加します。
vim ~/.ssh/config |
~/.ssh/configのファイルの末尾に次の内容を追加してください。
Host bitbucket.org |
🍮 (3) Bitbucketへの公開鍵の登録
ブラウザでBitbucketにアクセスしてユーザー登録/ログインしてください。
トップページの右上の人のアイコン => Manage Accountをクリック。
左側のメニューの「SSH keys」=>「Add key」を選択。
ssh keyファイルをクリップボードにコピーするために、コンソールで次のコマンドを実行。
pbcopy < ~/.ssh/id_rsa.pub |
Label名を管理しやすい名前で登録。bitbuketのkeyのフォームにクリップボードから貼り付け => add keyをクリック。
これで、ssh keyをBitbucketに登録できました。
😸 (4) GitHubへの公開鍵の登録
ブラウザでGitHubにアクセスしてユーザー登録/ログインしてください。
トップページの右上の道具のアイコン(Account settings)をクリック。
左側のメニューの「SSH keys」=>「Add key」を選択。
フォームのTitleにssh keyの名前をセットして、コンソールで次のコマンドを実行。
pbcopy < ~/.ssh/id_rsa.pub |
このコマンドでコンソールからクリップボードにsshキーの中身がコピーされます。
そして、keyのところにクリップボードから貼り付け => add keyをクリック。
これで、ssh keyをGitHubに登録できました。
😼 補足: GitHubで複数アカウントにssh接続するための手順
GitHubで複数アカウントを持っていて、CUIで使い分けるための手順がクラスメソッドさんのブログの中にありました。よければぜひご検討ください!
🏈 補足: SSH鍵/フォルダのパーミッション
毎回忘れるのでメモ。
chmod 700 ~/.ssh |
🐮 このテーマに関連するオススメ本
Git ポケットリファレンスはGitやGitHubでの開発をする際に机の上においておくとほんとうに役に立ちます。特に本の中のチートシートが便利です!
* Git作業フロー&コマンド チートシート * GitHub作業フロー&コマンド・設定 チートシート
このチートシートだけでもこの本を買う価値は十二分にあります!
🎂 参考リンク
テツさんにコメントをいただいて、記述ミスを修正できました。ほんとうに有にくいです!
🎉 変更来歴
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前回の修正でミスってた部分を修正