【GitHub】VPS/WINのGitHub接続方法まとめ:2025.8.17

備忘録

要点

  • GitHub 接続には 2つの方式 がある
    1. HTTPS(トークン)方式
      • 簡単に使い始められるが、毎回トークン入力が必要
      • 定期的にトークンの更新が必要
    2. SSH 鍵認証方式
      • 公開鍵認証で毎回のパスワード入力不要
      • 一度設定すれば VPS や Windows 両方で安定して利用可能
  • 運用のしやすさ・自動化を考慮し、Windows,VPSの双方で SSH方式を採用
  • HTTPS方式は概要のみ触れ、詳細手順は付録にまとめる

1. 接続方式の比較

1-1. HTTPS(トークン方式)

  • GitHubユーザー名 + Personal Access Token (PAT) で認証
  • 簡単に使い始められるが、毎回トークン入力が必要(キャッシュは可能)
  • VPSや自動化にはやや不向き
  • 詳細手順は 付録 を参照

1-2. SSH(鍵認証方式)

  • 公開鍵認証で毎回のパスワード入力不要
  • 一度設定すれば VPS や Windows 両方で安定して利用可能
  • 自動デプロイやCI/CDに適している

2. SSH方式の設定(推奨)

2-1. VPS(Linux)側の設定

  1. 鍵の生成
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_github -C "your_email@example.com"
chmod 600 ~/.ssh/id_ed25519_github
  1. 公開鍵を GitHub に登録
cat ~/.ssh/id_ed25519_github.pub

→ 出力を 1行まるごとコピーして GitHub → Settings → SSH and GPG keys → New SSH key に貼り付け。

  1. ~/.ssh/config の設定
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github
  IdentitiesOnly yes
  1. 接続テスト
ssh -T git@github.com

成功例:

Hi unikarei! You've successfully authenticated, but GitHub does not provide shell access.

2-2. リモートURLの切替

git remote -v
git remote set-url origin git@github.com:unikarei/ChatBot2025.git
git remote -v

出力が以下になればOK:

origin  git@github.com:unikarei/ChatBot2025.git (fetch)
origin  git@github.com:unikarei/ChatBot2025.git (push)

2-3. Windows 側でのSSH統一

  1. 鍵の場所(通常):
C:\Users\<ユーザー名>\.ssh\id_ed25519
C:\Users\<ユーザー名>\.ssh\id_ed25519.pub
  1. 公開鍵を GitHub に登録(VPSと同じ手順)
  2. ~/.ssh/config 設定例
Host onopiano-vps
  HostName 220.158.17.145
  User admin
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes
  ServerAliveInterval 30
  ServerAliveCountMax 6
  ConnectTimeout 30

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes
  1. 動作確認
ssh -T git@github.com

3. よくあるトラブルとTips

  • Permission denied (publickey) → 鍵の権限を確認:chmod 600 ~/.ssh/id_ed25519_github
  • authorized_keys は VPS ログイン用の公開鍵リスト、消さない
  • known_hosts は接続先の指紋キャッシュ、自動生成される
  • git remote -v が2行出るのは正常(fetch/push 両方表示しているだけ)

付録:HTTPS(トークン方式)の設定

発行方法(GitHub側)

  1. GitHub → Settings → Developer settings → Personal access tokens
  2. Generate new token
    • 有効期限と権限を設定(通常 repo
  3. トークンをコピーして保存

利用方法(VPS/Windows)

  1. HTTPS URL でリポジトリを clone
  2. push/pull 時に以下で入力
    • ユーザー名:GitHub ユーザー名
    • パスワード:発行したトークン

資格情報をキャッシュする場合:

git config --global credential.helper store

まとめ

  • 接続方式は2つ:HTTPS(トークン)とSSH(鍵認証)
  • 運用するならSSH方式を推奨(パスワード不要で安定、VPSにも最適)
  • HTTPS方式はトークン管理が必要だが、設定が簡単なので入門には向いている

コメント

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