GitHubのHTTPS・SSH・CLIの違いとは?接続方法の選び方をわかりやすく解説!

GitHubのHTTPS・SSH・CLIの違いとは?接続方法の選び方をわかりやすく解説! 開発ツール(Dev Tools)
GitHubのHTTPS・SSH・CLIの違いとは?接続方法の選び方をわかりやすく解説!
この記事は約5分で読めます。
てんハロ運営者
てんハロ運営者

どもども
今回は「HTTPS・SSH・CLIの違い」について解説します。

バグヲ
バグヲ

どれを使えばいいんだろう〜

てんハロ運営者
てんハロ運営者

こんなあなたにピッタリな記事👇

  • GitHubを使い始めたばかり
  • git clone に3種類あるのが気になっている
  • どれを使えばいいか迷っている

がまぁまぁわかります!

未経験からエンジニア転職を目指すなら
👉 テックゲート転職 をチェック!

Gitのクローンには3種類ある

GitHubでリポジトリを自分のPCにクローン(コピー)するため、「Code」ボタンを押すと次の3つの接続方法が表示されます。

GitHubのHTTPS・SSH・CLIの違いとは?接続方法の選び方をわかりやすく解説!
種類URL例特徴
HTTPShttps://github.com/ユーザー名/リポジトリ.git手軽だがpush時に認証必要
SSHgit@github.com:ユーザー名/リポジトリ.git初期設定必要だが以降は楽
GitHub CLIgh repo clone ユーザー名/リポジトリCLI使用者向けの先進的な方法

📌 例えるなら…

  • HTTPS:玄関で名前とパスワードを言わないと入れない(毎回認証が必要)
  • SSH:合鍵を持っていればそのまま入れる(1回設定すれば楽)
  • GitHub CLI:スマートスピーカー付きの玄関。音声コマンドだけで開け閉めできる(コマンドひとつでPRやIssueの操作も完了)

HTTPSの特徴

git clone https://github.com/ユーザー名/リポジトリ.git

🔓️ 特徴

認証が手軽で誰でも使えるが、push時にtoken入力(認証)が必要
※保存済みなら省略可

✔ 使い方

① GitHubでHTTPSのURLをコピーして貼り付け

② パスワードを求められたら、ユーザー名・トークンを貼り付け

git clone https://github.com/ユーザー名/リポジトリ.git

> Username for 'https://github.com': ユーザー名
> Password for 'https://github.com': tokenの内容

push時に認証を求められないパターン

🔎 パターン1すでに SSH 接続に切り替わっている

git remote -v を実行して、下記が表示されたら既にSSH接続を使っているという意味です。
なので git push しても token やパスワードを聞かれないのが正しい挙動です。

git remote -v

> origin  git@github.com:ユーザー名/リポジトリ.git (fetch)
> origin  git@github.com:ユーザー名/リポジトリ.git (push)

🔎 パターン2HTTPSだけど、token を保存済み

もし以前に HTTPS で push したときに token を保存していたら、Macの「キーチェーン」などに保存されていて、聞かれないこともあります。

SSHの特徴

git clone git@github.com:ユーザー名/リポジトリ.git

🔓️ 特徴

  • 初回のみ、SSH鍵を作成してGitHubに登録
  • pushもpullも認証無しでスムーズ
  • CI/CDや自動化との相性も高い

✔ 使い方

SSH鍵(鍵ペア)を作る

ssh-keygen -t ed25519 -C "メールアドレス"

どこの階層(ディレクトリ)でも実行してOK
~/.ssh/id_ed25519(秘密鍵)と ~/.ssh/id_ed25519.pub(公開鍵)が生成されます。

公開鍵をGitHubに登録

cat ~/.ssh/id_ed25519.pub
  1. 上記のコマンドで、公開鍵の中身を確認してコピー
  2. GitHubにログイン
  3. 右上のアイコンをクリック → Settings(設定)
  4. 左メニューから SSH and GPG keys を選択
  5. [New SSH key] ボタンをクリック
  6. cat コマンドで表示された公開鍵を貼り付けて保存

GitHub CLIの特徴

gh repo clone ユーザー名/リポジトリ

🔓️ 特徴

  • GitHub公式CLIツール
  • PR作成やIssue管理もコマンドだけでOK
  • SSHとHTTPSの接続設定も対話形式で簡単に切り替えられる

✔ 使い方

公式手順はこちらをご確認ください:https://cli.github.com/

結局どれを使えばいい?

シーンおすすめ
勉強用、お試し利用HTTPS
本格的に開発したいSSH
PR管理もやりたい、CLI感覚で使いたいGitHub CLI

トークン保存済みHTTPSとSSHの違いってあるの?

たしかに、トークンを保存していれば
git push 時に毎回パスワードを入力する必要はなく、操作感は SSH と似ています。

でも、それでも SSH を使うべき理由があります。

HTTPSよりSSHを選ぶメリット

項目SSHHTTPS(トークン保存済み)
毎回の認証✅️ 不要(鍵で認証)🔼 省略可(保存時のみ)
トークンの有効期限✅️ なし(鍵は手動で管理)🔼 あり(通常は90日など)
再認証の必要性✅️ 基本なし❌️ 期限切れ後に必要
自動化(CI/CD)での使用✅️ 簡単(秘密鍵を渡すだけ)🔼 環境変数やGitHub Tokenが必要
接続の安定性✅️ 高い🔼 GitHubのポリシーに左右される

結論

見た目は似ていても、安定性・自動化・セキュリティの面でSSHの方が圧倒的におすすめです。
特に、チーム開発やCI/CDの導入が視野にあるなら、最初からSSHに慣れておくのがベストです。

てんハロ運営者
てんハロ運営者

おつかれさまでした!

更新をF5連打で待つの、そろそろやめませんか?
( ブログ更新をメールでそっとお知らせします🙇‍♂️ )

スパムはしません!詳細については、プライバシーポリシーをご覧ください。

コメント