Open3
新しいPCでGitHubにssh接続する方法・公開鍵を設定方法とSSHパスワード入力を省略する方法について📝

新しいPCで、GitHubにssh接続する方法・公開鍵を設定する
- 新しいPCで、GitHubにssh接続する方法・公開鍵を設定について、まとめます。
ローカルPCのターミナルでの対応
鍵の生成コマンドを実行
ssh-keygen
# key nameを指定して作る (test という名前でssh-keyを作成する場合)
ssh-keygen -t rsa -C test
保存先の確認、鍵の名前の変更
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa):
- /Users/ユーザー名/.ssh/id_rsaで良いかとの確認の文章が出る。
- id_rsaという鍵の名前で問題なければEnter
- 名前を変えたい時は、/Users/ユーザー名/.ssh/鍵の名前
パスワードの設定
Enter passphrase (empty for no passphrase):
- SSH鍵用のパスフレーズを入力する。
- このパスフレーズは、コマンドラインでSSHを使用してプッシュする際などに毎回求められるもので、GitHubのパスワードとは別
- このとき入力した文字は表示されないので、タイプミスをしないように注意
- パスコード+Enterの入力は2回求められます
.pubファイルの中身をクリップボードにコピー
pbcopy < ~/.ssh/hoge.pub
# id_ed25519の公開鍵の場合
pbcopy < ~/.ssh/id_ed25519.pub
GitHub側での対応
SSHのkey(公開鍵)を GitHub 側に追加する
SSOの認証が必要なら、ポチッとする
GitHub との ssh接続のテスト
- SSHの接続をチェック
ssh -T git@github.com
- このコマンドで、次のように表示されたら、「yes」と入力してEnterを押します
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
- 接続がうまくできていれば、下のメッセージが返ってくるはずです
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
参考・引用

パスワードを毎回、求められる場合の対応
SSH キーを ssh-agent に追加する
eval "$(ssh-agent -s)"
> Agent pid 59566 # ←pidの番号は人によって変わる(当然)
SSHのconfigファイルの修正
$ open ~/.ssh/config
# 存在しない場合の出力
> The file /Users/YOU/.ssh/config does not exist.
# 以下のコマンドでファイルを作成
$ touch ~/.ssh/config
# 以下をファイル内に追加
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
$cat ~/.ssh/config
# [ 実行結果 ]
Host github //任意の英字で設定する。
HostName github.com //必ずこれでないとダメらしい。
IdentityFile ~/.ssh/id_ed25519 //ファイルのルートとファイル名を設定
User git //必ずこれでないとダメらしい。
- configファイルがない場合は新たに作成してください。
- GitHub Enterprise Server でサポートされていない公開鍵のファイル名をつける際にはIdentityFileのルートとファイル名を適宜変更してください。
SSH秘密鍵をssh-agentに追加して、パスフレーズをキーチェーンに保存
- MacOSを想定しているため、--apple-use-keychainを使用してキーチェーンにパスフレーズを保存
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
GitHubアカウントへの新しい SSH キーの追加
cat ~/.ssh/id_ed25519.pub
> ssh-ed25519 xxxxxxxxxxxxxxxxxxxxxxxx...
# 上記の`ssh-ed25519...`の部分を全てコピー
SSH接続確認をする
$ssh -T github
Hi user_name! You've successfully authenticated, but GitHub does not provide shell access.
- "Hi user_name! ~~"と出て来れば接続完了!!
参考・引用

ssh-keygen -t rsa -C testの意味📝
ssh-keygen -t rsa -C test
コマンドは、SSHキーペアを生成するためのコマンドで、以下のように各オプションが機能します。
-
ssh-keygen
:SSHキーペア(公開鍵と秘密鍵)を生成するツール。 -
-t rsa
:キーのタイプを指定。rsa
はRSA暗号方式を使用することを意味します(他にecdsa
やed25519
などがある)。 -
-C test
:生成される公開鍵にコメントを付加。test
はコメントの内容で、通常はキーの用途や所有者を識別するために使われます(例:メールアドレスや説明)。
実行結果
- このコマンドを実行すると、RSA方式のSSHキーペア(
id_rsa
:秘密鍵、id_rsa.pub
:公開鍵)がデフォルトで~/.ssh/
ディレクトリに生成されます。 - 公開鍵には
-C
で指定したtest
というコメントが付加され、鍵の識別が容易になります。 - 実行中にパスフレーズの入力を求められる場合があります(セキュリティ強化のため。空でEnterを押すとパスフレーズなし)。
例
生成された公開鍵の内容(id_rsa.pub
)は以下のような形式になります:
ssh-rsa AAAAB3NzaC1yc2E... test
最後のtest
がコメント部分です。
注意点
-
-C
のコメントは任意で、指定しなくてもキーは生成可能。 - RSAは古いアルゴリズムで、最近は
ed25519
が推奨される場合も。 - 既存の鍵がある場合、上書き確認が表示されるので注意。