毎回、PC をセットアップする際に調べてしまうため備忘録として残しておく
実際のコード
Mac
-
以下のコマンドを GitHub のEメールアドレスに置き換えて実行
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f "id_rsa" > Generating public/private rsa key pair. -
以下が表示されるのでファイル場所を入力(デフォルトでいい場合は「Enter」押下)
> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] -
以下が表示されるのでパスフレーズを入力(なしでいい場合は「Enter」押下)
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] -
SSH キーを ssh-agent に追加する
4-1. バックグラウンドでssh-agentを起動
eval "$(ssh-agent -s)" > Agent pid 59566※ macOS Sierra 10.12.2 以降を使用している場合は
~/.ssh/configファイルを変更して自動的にキーをssh-agentにロードしパスフレーズをキーチェーンに格納する必要ありHost * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa -
SSH 秘密鍵を ssh-agent に追加してパスフレーズをキーチェーンに保存する
ssh-add --apple-use-keychain ~/.ssh/id_rsa -
公開鍵をクリップボードにコピーする
pbcopy < ~/.ssh/id_rsa.pub -
SSH キーを GitHub アカウントに追加する
Windows(基本的には Mac と同じ)
-
以下のコマンドを GitHub のEメールアドレスに置き換えて実行
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f "id_rsa" > Generating public/private rsa key pair. -
以下が表示されるのでファイル場所を入力(デフォルトでいい場合は「Enter」押下)
> Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter] -
以下が表示されるのでパスフレーズを入力(なしでいい場合は「Enter」押下)
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again] -
公開鍵をクリップボードにコピーする
type ~/.ssh/id_rsa.pub | clip -
SSH キーを GitHub アカウントに追加する
複数の GitHub アカウントを切り替える場合
-
使用したい GitHub アカウント毎に SSH 鍵を作成する
-
~/.ssh/configを編集する ※ない場合は新規作成Host github.com # メインアカウント HostName github.com User git Port 22 IdentityFile ~/.ssh/id_rsa TCPKeepAlive yes IdentitiesOnly yes Host github.com.sub # サブアカウント HostName github.com User git Port 22 IdentityFile ~/.ssh/id_rsa_sub TCPKeepAlive yes IdentitiesOnly yes -
GitHub に公開鍵を登録する
GitHub にログインして、[Settings] > [SSH keys] > [Add SSH key]で作成した公開鍵を登録する
-
以下のコマンドを実行して設定が上手くいっていることを確認する
ssh -T git@github.com ssh -T git@github.com.sub # Hi {yourname}! You've successfully authenticated, but GitHub does not provide shell access.