🐸

GitHub SSH設定

に公開

はじめに

SSHとは、コンピューターやネットワーク機器などを操作するためのプロトコル(通信規格)です。
インターネット上の通信を暗号化できるため、サーバー接続時の安全性が高くなります。

GitHubの設定

GitHubでリポジトリをクローン・操作する方法には、主にHTTPSとSSHの2つがあります。
このうち、SSHは開発用途に特に適している理由がいくつかあります。

SSHのメリット

  1. 毎回パスワードやトークン入力が不要
    HTTPSでは、git pushなどの操作ごとにパスワードやパーソナルアクセストークンの入力が必要になります(2FAを有効にしていると特に面倒です)。
    一方SSHでは、一度鍵認証を設定すればその後の操作では認証が自動化されます。

  2. セキュリティが高い
    公開鍵と秘密鍵を使った認証により、パスワードよりも安全に通信できます。

  3. 自動化やCI/CDで便利
    サーバーやCI環境では、SSH鍵を登録することで認証を省略でき、処理の自動化に最適です。

  4. ユーザーごとのアクセス管理がしやすい
    複数人の開発環境でも、各自の公開鍵を登録することでアクセス制御が簡単になります。

GitHub SSH設定方法

  1. .sshフォルダの確認
ls -a

「.ssh」フォルダがない場合は以下で作成

mkdir -p ~/.ssh
  1. SSHキーの作成
    すでにid_rsaid_rsa.pubがある場合はスキップ可能です。
cd ~/.ssh
ssh-keygen

途中の質問はすべてEnterで進めてOKです。
環境によっては id_ed25519 が生成されることもありますが、そのままで問題ありません。

  1. 公開鍵の確認
cat ~/.ssh/id_rsa.pub

表示された文字列をコピーします。

  1. GitHubにSSHキーを登録

    1. GitHubにログイン
    2. 右上アイコン → Settings
    3. 左メニューから SSH and GPG keys を選択
    4. New SSH key をクリック
    5. 任意のタイトルと、先ほどコピーした公開鍵を入力
    6. Add SSH key をクリック
  2. GitHubユーザー情報の設定(初回のみ)

git config --global user.name "hoge"
git config --global user.email "hoge@example.com"

確認

git config -l
  1. 接続テスト
ssh -i ~/.ssh/id_rsa git@github.com

以下のように表示されれば成功です

Hi hoge! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

まとめ

GitHubとのSSH接続を設定することで、認証が楽になり、開発や自動化の作業が快適になります。
まだSSHで接続していない方は、ぜひこの機会に導入してみてください

Discussion