GitHubのリポジトリ接続をSSHにした時のメモ。
公開鍵・秘密鍵生成
鍵を入れるためのフォルダを作成。
% mkdir ~/.ssh && cd ~/.ssh
RSA暗号で鍵を生成。
% ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa): id_git_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_git_rsa
Your public key has been saved in id_git_rsa.pub
id_git_rsa
の部分は任意の名前。空欄にするとid_rsaになる。
このコマンドを実行するとカレントディレクトリに鍵が吐き出されるので、~/.ssh
にいなければいけない(もしくは絶対パス指定)。
configファイルに鍵の名前を追記。
% cat << 'EOF' > config
> Host github github.com
> HostName github.com
> IdentityFile ~/.ssh/id_git_rsa
> User git
> EOF
公開鍵をGitHubにアップロード
に移動し、右上の「New SSH Key」をクリック。
Titleにid_git_rsa
(または自分の鍵の名前)、Keyに公開鍵の内容を入力。内容は次のコマンドで出力。
% cat id_git_rsa.pub
接続の検証
% ssh -T github
フィンガープリントを確かめろ、みたいなことを言われるので確認。良ければyesと打つ。
Hi (ACCOUNT_NAME)! You've successfully authenticated, but GitHub does not provide shell access.
これでSSH接続は成功。
git remote originの書き換え
GitHubでSSHのURLをコピーしてくる。リポジトリページの「Code」で「git@github.com...」みたいなやつ。
% git remote set-url origin (SSH_REPOSITORY_URL)
これで書き換え完了。一応確認する。
% git pull origin main
つながったら成功。
参考