🐸
GitHub SSH設定
はじめに
SSHとは、コンピューターやネットワーク機器などを操作するためのプロトコル(通信規格)です。
インターネット上の通信を暗号化できるため、サーバー接続時の安全性が高くなります。
GitHubの設定
GitHubでリポジトリをクローン・操作する方法には、主にHTTPSとSSHの2つがあります。
このうち、SSHは開発用途に特に適している理由がいくつかあります。
SSHのメリット
-
毎回パスワードやトークン入力が不要
HTTPSでは、git pushなどの操作ごとにパスワードやパーソナルアクセストークンの入力が必要になります(2FAを有効にしていると特に面倒です)。
一方SSHでは、一度鍵認証を設定すればその後の操作では認証が自動化されます。 -
セキュリティが高い
公開鍵と秘密鍵を使った認証により、パスワードよりも安全に通信できます。 -
自動化やCI/CDで便利
サーバーやCI環境では、SSH鍵を登録することで認証を省略でき、処理の自動化に最適です。 -
ユーザーごとのアクセス管理がしやすい
複数人の開発環境でも、各自の公開鍵を登録することでアクセス制御が簡単になります。
GitHub SSH設定方法
- .sshフォルダの確認
ls -a
「.ssh」フォルダがない場合は以下で作成
mkdir -p ~/.ssh
- SSHキーの作成
すでにid_rsa
やid_rsa.pub
がある場合はスキップ可能です。
cd ~/.ssh
ssh-keygen
途中の質問はすべてEnterで進めてOKです。
環境によっては id_ed25519 が生成されることもありますが、そのままで問題ありません。
- 公開鍵の確認
cat ~/.ssh/id_rsa.pub
表示された文字列をコピーします。
-
GitHubにSSHキーを登録
- GitHubにログイン
- 右上アイコン → Settings
- 左メニューから SSH and GPG keys を選択
- New SSH key をクリック
- 任意のタイトルと、先ほどコピーした公開鍵を入力
- Add SSH key をクリック
-
GitHubユーザー情報の設定(初回のみ)
git config --global user.name "hoge"
git config --global user.email "hoge@example.com"
確認
git config -l
- 接続テスト
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