📘

GitHubのSSH接続に関するメモ

2023/12/30に公開

GitHubでは、レポジトリのpushやpullに際してパソコンとgithubサーバとの通信が必要となる。
その際、データの送受信方法として、SSH接続、HTTPS接続の2種類が選択できる。一般的に前者の方がセキュリティ性が高く仕様が推奨される。

ここでは、GitHubへのSSH接続について、設定の方法をまとめる。

公開鍵と秘密鍵の発行

githubではsshの公開鍵はrsaタイプとed25519タイプを用いることができる。以下ではed25519タイプで鍵を発行することにする。

git bashにおいて以下のコードを実行
最後のメールアドレスの部分は、githubアカウントのメールアドレスに置き換える。

ssh-keygen -t ed25519 -C "hogehoge@メールアドレス"

これでed25519タイプの鍵を発行する設定に入る。

以下のような表示が出るので、それぞれ確認する。

Enter file in which to save the key (/c/Users/あなたのユーザ名/.ssh/id_ed25519):

これは.sshフォルダにsshキーを保存しようとしている。問題なければenterを押す。

Enter passphrase (empty for no passphrase):

sshキーにパスワードを設定する場合はここで入力する。
文字を打ってもコマンドライン上には何も表示されないので注意。


このように表示されれば完了。

GitHubへの公開鍵のアップロード

自分のアカウントを押すと出てくるメニューからsettingに移動

SSH and GPG Keysを選択

New SSH Keyから、以下の画面で先ほど作成した公開鍵の文字列を追加。titleは何でもいい。

これで公開鍵のアップロードは完了。

ちゃんとローカルから接続できるかテストを行う。
以下のようなコマンドを実行。

ssh -t git@github.com

以下が出力されたら成功。

Hi stryig0033! You've successfully authenticated, but GitHub does not provide shell access.

参考

https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys
https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
https://www.kagoya.jp/howto/it-glossary/develop/github_ssh/

Discussion