GitHub へのキー登録¶
Ubuntu 22.04 で公開鍵・秘密鍵ペアを作り GitHub に公開鍵を登録して、リモート操作ができるようにする。
ED25519 でキーペアを作る。
環境¶
複数環境での動作確認済み。最低でも、OpenSSH 6.5 以降が必要。
OS | ssh | git |
---|---|---|
CentOS 7.8.2003 | OpenSSH_7.4p1 / OpenSSL 1.0.2k-fips | 1.8.3.1 |
Raspberry Pi OS 64bit (Bullseye) | OpenSSH_8.4p1 / OpenSSL 1.1.1n | 2.30.2 |
Ubuntu 22.04.2 LTS | OpenSSH_8.9p1 / OpenSSL 3.0.2 | 2.34.1 |
前提知識¶
公開鍵暗号を利用した認証についての理解が必要。
少なくとも、相手に公開鍵を渡すべきなのか秘密鍵を渡すべきなのかくらいは理解しておかないとダメかなとは思う。
作業¶
同等の内容が 公式ドキュメント として記載されているが、なかなか微妙。
- キーペアを作成する
- SSH 設定ファイルを作成する
- GitHub に公開鍵を登録する
- 接続確認を行う
1. キーペアを作成する¶
ED25519 でキーペアを作成するため、以下のコマンドを実行する。
ここでは、~/.ssh/github_ed25519
に出力する。
ssh-keygen -t ed25519 -f ~/.ssh/github_ed25519
# 適宜パスフレーズを入力
cat ~/.ssh/github_ed25519.pub
などで公開鍵を確認し、コピーしておく。
2. SSH 設定ファイルを作成する¶
~/.ssh/config
を作成し、以下を書き込む。
Host github.com
HostName github.com
IdentityFile ~/.ssh/github_ed25519
User git
github.com
に接続する際にデフォルトで git
ユーザーと ~/.ssh/github_ed25519
の鍵を利用する。
3. GitHub に公開鍵を登録する¶
1 で作成した公開鍵を GitHub に登録する。
github.com を開き、右上の自分のアイコンをクリック。Settings
を開く。左側ナビゲーションバーから SSH and GPG keys
をクリックし、移動後右上 New SSH key
をクリック。
または https://github.com/settings/ssh/new に直接アクセスしても良い。
SSH keys / Add new
ページで、以下を入力する。
Title
: お好みで。何も入力しない場合公開鍵の末尾にあるユーザー名とホスト情報が自動的に入る。Key type
:Authentication Key
を指定Key
: 1 でコピーした公開鍵を貼り付ける。ssh-ed25519
から始まっていることを確認。
4. 接続確認を行う¶
以下のコマンドを実行し、接続できるかの確認をする。
ssh -T github.com
以下のように出力されたら完了。
Hi book000! You've successfully authenticated, but GitHub does not provide shell access.
はじめて接続する場合、フィンガープリントの確認が出てくる。正しいことを 公式ドキュメント で確認したあと、以下のように yes
で承認する。(正しいフィンガープリントを打ち込んで Enter でも良いっぽい。その方が適切かも)
The authenticity of host 'github.com (20.27.177.113)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,20.27.177.113' (ECDSA) to the list of known hosts.