GitHubにEd25519鍵を生成して渡す方法
GitHubにEd25519鍵を生成して渡す方法
鍵の生成とGitHubへの登録
情報が古いのでこちらも紹介程度です。
現在0から学び直してるので現代に合わせてまた修正予定です。
公開鍵と秘密鍵を作成
1
$ ssh-keygen -t ed25519 -C "GitHubに登録したemail"
実行したら3つ入力(そのままEnterかパスフレーズ)
~/.ssh/configに記述
1
2
3
Host *
UseKeyChain yes
IdentityFile ~/.ssh/id_ed25519
公開鍵の中身をクリップボードにコピー
1
$ pbcopy <~/.ssh/id_ed25519.pub
GitHubに公開鍵を登録
GitHubを開いて/settings/ssh/newに移動 任意の名前と中身を貼り付けて登録完了
過去に作った古いアカウントによってアクセス拒否されるときは
キーチェーンアクセスを起動して検索フォームからキーワード「git」で検索
問題の古いアカウントのパスワードがピックアップされるので削除
UseKeyChain yesは無くても問題ないやも
複数アカウントを使いたい場合
とりあえず自分はターミナルからユーザー名を入力で切り替えられるようにしたhttps://t.co/HTo28yjS58
— Яɑ (@rauszero) September 25, 2021
どのGitHubのアカウントか一目でわかるように
— Яɑ (@rauszero) September 25, 2021
~/.zshrcにこんな感じで記述してる
export PROMPT="%F{cyan}[%~]%f `git config user.name</a>` \$ "
[]の中にカレントディレクトリ
現在のGitHubのアカウント
\$は一般ユーザーの時 $ rootの時 ## を表示 Macのターミナルのユーザー名の変更
~/.ssh/configはこんな感じに記述
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Host github-xuqxu
HostName github.com
IdentityFile ~/.ssh/xuqxu
User git
Port 22
TCPKeepAlive yes
IdentitiesOnly yes
Host github-raus0
HostName github.com
IdentityFile ~/.ssh/raus0
User git
Port 22
TCPKeepAlive yes
IdentitiesOnly yes
ssh-agentを使う場合(使わんでもOK)
ssh-agentを起動
1
$ eval "$(ssh-agent -s)"
作成したSSH鍵をssh-agentに登録
1
$ ssh-add -K ~/.ssh/id_ed25519
~/.ssh/configに以下追記`
1
AddKeysToAgent yes
以下トラブルシューティング
forkしたリポジトリ限定でサブ垢によるpushがメイン垢によって拒否される キーチェーンから削除してもダメ
— Яɑ (@rauszero) September 25, 2021
ssh-agentに鍵が余分に登録されてたから
— Яɑ (@rauszero) September 25, 2021
$ ssh-add -D で全部消した
各鍵を作り直して登録したら解決https://t.co/ObDKsWtGnf
This post is licensed under CC BY 4.0 by the author.