ローカルからGitHubにアクセスする方法を記載する。
※ここでいうローカルとはブラウザーからGitHubにログインではなく、「ローカルのリポジトリ」からGitHub(リモートリポジトリ)にアクセスする際の認証のこと。
2021年8月以降、password認証負荷となった、
今回は、SSH接続について備忘録。
SSH=よりセキュアな方法でサービスにログインできる認証方法
■SSH接続設定の大まかな流れ
①SSHキーをローカルに作成
②SSHキーをGitHubに登録
①SSHキーをローカルに作成
ローカル環境でターミナル上で以下コマンド叩く
$ ssh-keygen -t ed25519 -C "GitHubに登録したメールアドレス"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/yuzo/.ssh/id_ed25519):
/c/Users/yuzo/.ssh/id_ed25519 already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/yuzo/.ssh/id_ed25519
Your public key has been saved in /c/Users/yuzo/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The key's randomart image is:
上記コマンドをたたくことで、/c/Users/yuzo/.sshフォルダ配下に2種類のSSHキーが生成される。
$cd ~/.ssh
$ ls
id_ed25519 id_ed25519.pub
公開鍵:id_ed25519.pub ※ 自分以外の人に見せてもいい鍵
秘密鍵:id_ed25519 ※他の人に共有してはいけない鍵
ssh-agentを起動させる
$ eval "$(ssh-agent -s)"
Agent pid XXXX
ホームディレクトリ配下の.ssh/configファイルを編集する
→このconfigファイルでSSHの設定をする
VScodeで当該configファイルを開く
$ code ~/.ssh/config
以下のようにconfigファイルを修正する
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
上記configを設定することで、GitHubにログインする時に先ほど生成した秘密鍵(.ssh/id_ed25519)を利用してログインすることができる。
SSHキーをssh-agentに登録する
$ ssh-add -k ~/.ssh/id_ed25519
Identity added: /c/Users/yuzo/.ssh/id_ed25519 (メールアドレス)
これでローカルにSSHキーを作成した。
今度はGitHubに公開鍵を登録する。
②SSHキー(公開鍵)をGitHubに登録
まず公開鍵をクリップボードにコピー
clip <~/.ssh/id_ed25519.pub
ブラウザーでGitHubを開き、setting→SSH and GPG keys→New SSH keyで先ほどの公開鍵の中身を張り付けGitHubに登録終了。
あとは、このSSHキーを使って、ローカルからリモートリポジトリにアクセスする。