要点
- GitHub 接続には 2つの方式 がある
- HTTPS(トークン)方式
- 簡単に使い始められるが、毎回トークン入力が必要
- 定期的にトークンの更新が必要
- SSH 鍵認証方式
- 公開鍵認証で毎回のパスワード入力不要
- 一度設定すれば VPS や Windows 両方で安定して利用可能
- HTTPS(トークン)方式
- 運用のしやすさ・自動化を考慮し、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)側の設定
- 鍵の生成
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_github -C "your_email@example.com"
chmod 600 ~/.ssh/id_ed25519_github
- 公開鍵を GitHub に登録
cat ~/.ssh/id_ed25519_github.pub
→ 出力を 1行まるごとコピーして GitHub → Settings → SSH and GPG keys → New SSH key に貼り付け。
~/.ssh/configの設定
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_github
IdentitiesOnly yes
- 接続テスト
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統一
- 鍵の場所(通常):
C:\Users\<ユーザー名>\.ssh\id_ed25519
C:\Users\<ユーザー名>\.ssh\id_ed25519.pub
- 公開鍵を GitHub に登録(VPSと同じ手順)
~/.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
- 動作確認
ssh -T git@github.com
3. よくあるトラブルとTips
Permission denied (publickey)→ 鍵の権限を確認:chmod 600 ~/.ssh/id_ed25519_githubauthorized_keysは VPS ログイン用の公開鍵リスト、消さないknown_hostsは接続先の指紋キャッシュ、自動生成されるgit remote -vが2行出るのは正常(fetch/push 両方表示しているだけ)
付録:HTTPS(トークン方式)の設定
発行方法(GitHub側)
- GitHub → Settings → Developer settings → Personal access tokens
- Generate new token
- 有効期限と権限を設定(通常
repo)
- 有効期限と権限を設定(通常
- トークンをコピーして保存
利用方法(VPS/Windows)
- HTTPS URL でリポジトリを clone
- push/pull 時に以下で入力
- ユーザー名:GitHub ユーザー名
- パスワード:発行したトークン
資格情報をキャッシュする場合:
git config --global credential.helper store
まとめ
- 接続方式は2つ:HTTPS(トークン)とSSH(鍵認証)
- 運用するならSSH方式を推奨(パスワード不要で安定、VPSにも最適)
- HTTPS方式はトークン管理が必要だが、設定が簡単なので入門には向いている


コメント