GitHubにSSH接続するための設定手順

プログラミング・技術系

どうも音又です。
今回はGitHubへSSH接続するための設定手順を解説していこうかと思います。

今回はターミナルを使用した方法を紹介します。Windowsのコマンドプロンプトを使用する場合は少し手順が変わってしまう為、注意してください。
ただしWindows上でWSL(仮想Linux環境)で環境を構築し、そちらで操作すれば同じ方法で設定が可能です。その場合は毎回WSLの仮想環境に入ってそこから操作する必要があるので、面倒な方はWindows Terminalなどを導入し適宜プロファイルなどを作成して簡単に環境に入れるようにすると良いかと思います。

スポンサーリンク

GitHubへのSSH接続と必要性

例えばGitHubのリポジトリをクローンする時、公開リポジトリであれば以下画像のような項目のHTTPSのリンクを使用してgit clone https://...repo.gitのようなコマンドで簡単にクローンすることができます。

ではSSHで接続しようとするとその場合、SSH接続の設定が未設定だとエラーが出てしまいます。
また、プライベートリポジトリの場合だとHTTPSのリンクを使用してもユーザー認証を求められてしまいます。もちろん認証が出来なければクローンできません。
数回GitHubとのやり取りをするのであればユーザー認証をしても良いですが、開発などをするとなると頻繁にやり取りが発生するため、その度に認証するのはなかなか骨が折れます。
そんな時は1度設定してしまえば認証がいらないSSH接続の方がやりやすいという訳です。

SSH接続の設定

SSH接続の必要性について解説したところで、早速設定を行っていきましょう。
SSH接続にはid_ed25519.pubのような鍵のファイルが必要になりますが、もしも既に設定されていれば存在するので1度あるか確認してみましょう。
ターミナル上から以下のようなコマンドで確認ができます。

ls ~/.ssh/id_ed25519.pub

存在していれば該当するファイル名が表示され、ない場合はNo such file or directoryのようなエラーが発生します。
存在していなければ新規で作成します。

鍵ファイルの作成

鍵ファイルは以下のコマンドで作成が可能です。

ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_25519

作成出来たら中身を表示して確認してみましょう。

cat ~/.ssh/id_ed25519.pub

正常に作成できていれば中身が表示されるかと思います。
確認ができたらこの中身を丸々コピーしてください。

この時点でエラーなどが発生する場合はコマンドやファイル名にタイポがないか確認してください。
ls -l ~/.sshで存在するSSHの鍵ファイルが確認できます。ここで表示されたファイル名がおかしい、もしくはない場合は作成の手順をやり直してください。

GitHub側での設定

鍵ファイルの中身をコピーしたらそれをGitHub側で登録します。
GitHubを開き、右上のユーザーアイコンからSettingsを選択すると設定画面が開きます。
設定画面が開いたら、サイドバーのメニュー内にSSH and GPG keysという項目があるのでこちらを選択します。
選択したらSSHの鍵ファイル一覧が表示されます。(未登録の場合は一覧には表示されません。)
ここからNew SSH keyを選択します。
画面が切り替わると以下のような鍵ファイルを設定する画面が開きます。

ここに鍵ファイルの情報を入力していきます。

  • Title: こちらには登録する鍵ファイルの名前を入力します。これはファイル名ではなく鍵ファイルの一覧で表示される名前になりますのでわかりやすいものをつけましょう。(例: mypc-key)
  • Key type: こちらは初期設定のAuthentication Keyで問題ありません。
  • Key: ここに先ほどコピーした鍵ファイルの中身をペーストしてください。

入力出来たらAdd SSH keyを押して登録してください。
これでGitHub側での設定は完了です。

SSH接続の確認

諸々の設定が出来たらSSH接続ができたら確認してみましょう。以下のコマンドからテスト接続ができます。

ssh -T git@github.com

接続が成功すれば

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

のようなメッセージが表示されます。
初回接続時はAre you sure you want to continue connection?(接続を続行する?)というメッセージが表示されるのでその場合はyesと入力すれば問題ありません。

以上で設定は完了です。あとは実際にクローンやその他のGit<–>GitHubのやり取りを行ってみてください。正常に設定ができていればユーザー認証をすることなく実行できるようになっているはずです。

おわり

今回はGitHubにSSH接続するための設定を解説してきました。
SSH接続はユーザー認証の手間が省けるほか、SSHによるセキュアなやり取りが可能になる為、ぜひ設定してみてください。
では今回はこの辺で。

コメント

タイトルとURLをコピーしました