GitHubでのリポジトリ接続には「HTTPS」と「SSH(git@)」の2種類がありますが、どちらを使うべきか迷うことも多いですよね。
GitHubのリポジトリをクローンするとき、緑色の「Code」ボタンを押すと2つの選択肢が出てきますよね。
https://github.com/user/repo.gitgit@github.com:user/repo.git
「結局どっちがいいの?」という疑問に答えるべく、それぞれの特徴と、今のあなたに最適な方法をまとめました。
1. HTTPS接続(初心者・一時的な利用に)
ブラウザでサイトを見るのと同じ仕組み(HTTPS)を使って通信します。
- メリット: * 特別な設定が不要で、すぐにクローンできる。
- ファイアウォールなどのネットワーク制限に強い。
- デメリット: * プライベートリポジトリの場合、操作のたびに「ユーザー名」と「パーソナルアクセストークン」を求められる(非常に面倒!)。
2. SSH接続(開発者・本番環境に推奨)
「鍵(公開鍵と秘密鍵)」を使って通信する、エンジニアにはお馴染みの方法です。
- メリット: * 一度設定すれば、その後の入力が一切不要。
- パスワードを通信に流さないため、セキュリティが高い。
- デメリット: * 最初に「SSHキーの生成」と「GitHubへの登録」という儀式が必要。
比較表:どっちを選ぶ?
| 項目 | HTTPS | SSH (git@…) |
| URL例 | https://github.com/t-user/app.git | git@github.com:t-user/app.git |
| 主な認証 | アクセストークン (PAT) | SSH公開鍵・秘密鍵 |
| 手間 | 最初は楽、後は大変 | 最初は大変、後は楽 |
| おすすめ | 公開リポジトリを拾うとき | 自分の開発環境・本番サーバー |
SSH接続を使い始めるための3ステップ
SSH(git@)を使う場合は、以下の手順で「鍵」を準備しましょう。
① サーバーで鍵を作る
# 実行ユーザー(例: devuser)で作成
sudo -u devuser ssh-keygen -t ed25519
② 公開鍵を確認する
sudo cat /home/devuser/.ssh/id_ed25519.pub
出てきた ssh-ed25519 AAA... という長い文字列をコピーします。
③ GitHubに鍵を登録する
GitHubの [Settings] -> [SSH and GPG keys] -> [New SSH key] を開き、コピーした文字列を貼り付けます。これで、次からは git@... のURLで自由に操作できるようになります!
まとめ:判断基準
- 他人の公開リポジトリをちょっと試したいだけなら、手軽な HTTPS。
- 自分のプロジェクトを継続的に開発・デプロイするなら、絶対に SSH。
特にサーバー(Ubuntu等)で git pull を自動化したい場合などは、SSH接続にしておかないと認証で止まってしまうので注意しましょう。

コメント