HTTPSとSSH(git@)どっちを使う?違いと設定まとめ

GitHubでのリポジトリ接続には「HTTPS」と「SSH(git@)」の2種類がありますが、どちらを使うべきか迷うことも多いですよね。

GitHubのリポジトリをクローンするとき、緑色の「Code」ボタンを押すと2つの選択肢が出てきますよね。

  • https://github.com/user/repo.git
  • git@github.com:user/repo.git

「結局どっちがいいの?」という疑問に答えるべく、それぞれの特徴と、今のあなたに最適な方法をまとめました。

1. HTTPS接続(初心者・一時的な利用に)

ブラウザでサイトを見るのと同じ仕組み(HTTPS)を使って通信します。

  • メリット: * 特別な設定が不要で、すぐにクローンできる。
    • ファイアウォールなどのネットワーク制限に強い。
  • デメリット: * プライベートリポジトリの場合、操作のたびに「ユーザー名」と「パーソナルアクセストークン」を求められる(非常に面倒!)。

2. SSH接続(開発者・本番環境に推奨)

「鍵(公開鍵と秘密鍵)」を使って通信する、エンジニアにはお馴染みの方法です。

  • メリット: * 一度設定すれば、その後の入力が一切不要。
    • パスワードを通信に流さないため、セキュリティが高い。
  • デメリット: * 最初に「SSHキーの生成」と「GitHubへの登録」という儀式が必要。

比較表:どっちを選ぶ?

項目HTTPSSSH (git@…)
URL例https://github.com/t-user/app.gitgit@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接続にしておかないと認証で止まってしまうので注意しましょう。

コメント

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