職場の新しいiMacを設定していて「あれ、どうやんだっけ?」となったので、また忘れた時のためにメモっておきます。SSHを使ってGitHubに接続するための準備と設定方法です。
GitHubのヘルプ に詳しく手順が書かれているんですが、複数ページに分かれていて若干行き来するのが面倒なんですよね。ということで、ここでは極力短くまとめておきます。
Gitの準備
Gitにnameとemailを登録します。GitHubにpushした時に、ここで設定した氏名とメールアドレスがGitHubで表示されます。
全てのリポジトリで同じ氏名を使う場合
--global
オプションをつけて設定します。
$ git config --global user.name "John Doe"
以下のコマンドで設定を確認できます。
$ git config --global user.name
同様にメールアドレスを登録します。
$ git config --global user.email "john.doe@yourdomain.com"
これでGitの準備は完了です。
既存のSSH Keyの確認
以下のコマンドで.sshがすでに存在するか確認します。
$ ls -al ~/.ssh
以下がないか確認します。
- id_dsa.pub
- id_ecdsa.pub
- id_ed25519.pub
- id_rsa.pub
これらのファイルがない場合、新たにKeyを作成するか、ある場合はそれをGitHubに接続するために使っても良いです。
SSH Keyの作成
以下のコマンドでKeyを作ります。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-t
は鍵の種類(dsaとかrsaとか)、-b
はバイト数、-C
はコメントの新規作成だそうで。rsaの鍵を4096バイトでメールアドレスをコメントとして作成するというコマンドですね。
前の2つは必須ですが、メールアドレスの記載はあくまでコメントなので必須ではないはず。これがベストプラクティスということなのかな?
ファイル名を聞かれるので、Keyのファイル名を入力します。デフォルトの場合はそのままEnterで。
$ Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Passphraseを入力するとKeyの作成が完了します。
$ Enter passphrase (empty for no passphrase): [Type a passphrase]
$ Enter same passphrase again: [Type passphrase again]
これで.ssh
フォルダに、指定したファイル名でKeyが作られます。
ssh-agentにKeyを登録する
リモートに接続するたびにパスフレーズを聞かれなくするために、ssh-agentにKeyを登録します。
バックグラウンドでssh-agentを走らせる
$ eval "$(ssh-agent -s)"
macOS Sierra以降の場合、~/.ssh/config
に以下を記述する必要があります。これがないとGitHubに接続するたびにPassphraseを聞かれます。
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
この記述だと、すべてのホストでこのKeyを使う設定なので他のホスト用の鍵もあって複数設定 している場合はHost *のところをGitHubに限定する必要があります。そういう状況にある方には説明不要でしょうけど。
Keyを登録する
$ ssh-add -K ~/.ssh/id_rsa
KeyをGitHubに追加する
最後に、作ったKeyをGitHubに追加します。
Keyをクリップボードにコピーする
$ pbcopy < ~/.ssh/id_rsa.pub
KeyのGitHubへの追加
GitHubの設定画面の「SSH and GPG keys」ページで、新しいSSH Keyを登録します。
以上です!
さいごに
こういった設定は僕にとって日常的に行う作業ではないので、しばらくすると記憶があいまいになってしまうんですよね。こうやって備忘録として一度まとめを書くと情報が脳に定着しやすいので、次回は記憶に残っていることを願って!
では、Happy GitHubbing!
Git / GitHub関連の他の記事
2017年9月12日に公開され、2020年8月7日に更新された記事です。
About the author
「明日のウェブ制作に役立つアイディア」をテーマにこのブログを書いています。アメリカの大学を卒業後、ボストン近郊のウェブ制作会社に勤務。帰国後、東京のウェブ制作会社に勤務した後、ウェブ担当者として日英バイリンガルのサイト運営に携わる。詳しくはこちら。
ウェブ制作・ディレクション、ビデオを含むコンテンツ制作のお手伝い、執筆・翻訳のご依頼など、お気軽にご相談ください。いずれも日本語と英語で対応可能です。まずは、Mastodon @rriver@vivaldi.net 、Twitter @rriver 、またはFacebook までご連絡ください。