158 lines
3.6 KiB
Markdown
158 lines
3.6 KiB
Markdown
# Git Authentication Fix for GitHub PRs
|
|
|
|
## Problem
|
|
|
|
When pushing to GitHub, you get:
|
|
```
|
|
remote: Invalid username or token. Password authentication is not supported for Git operations.
|
|
fatal: Authentication failed
|
|
```
|
|
|
|
## Solution Options
|
|
|
|
### Option 1: Use SSH (Recommended)
|
|
|
|
**If you have SSH keys set up:**
|
|
|
|
1. **Check if you have SSH keys**:
|
|
```bash
|
|
ls -la ~/.ssh/id_*.pub
|
|
```
|
|
|
|
2. **If no SSH key exists, generate one**:
|
|
```bash
|
|
ssh-keygen -t ed25519 -C "your_email@example.com"
|
|
# Press Enter to accept default location
|
|
# Optionally set a passphrase
|
|
```
|
|
|
|
3. **Add SSH key to GitHub**:
|
|
```bash
|
|
cat ~/.ssh/id_ed25519.pub
|
|
# Copy the output
|
|
```
|
|
- Go to: https://github.com/settings/keys
|
|
- Click "New SSH key"
|
|
- Paste your public key
|
|
- Save
|
|
|
|
4. **Update remote to use SSH**:
|
|
```bash
|
|
cd /home/intlc/projects/proxmox/pr-workspace/chains
|
|
git remote set-url origin git@github.com:defiQUG/chains.git
|
|
```
|
|
|
|
5. **Test SSH connection**:
|
|
```bash
|
|
ssh -T git@github.com
|
|
# Should say: "Hi defiQUG! You've successfully authenticated..."
|
|
```
|
|
|
|
6. **Push again**:
|
|
```bash
|
|
git push origin update-chainid-138-rpc-endpoints
|
|
```
|
|
|
|
---
|
|
|
|
### Option 2: Use Personal Access Token (PAT)
|
|
|
|
**If you prefer HTTPS:**
|
|
|
|
1. **Create a Personal Access Token**:
|
|
- Go to: https://github.com/settings/tokens
|
|
- Click "Generate new token" → "Generate new token (classic)"
|
|
- Name: "PR Workspace"
|
|
- Select scopes: `repo` (full control of private repositories)
|
|
- Click "Generate token"
|
|
- **Copy the token immediately** (you won't see it again!)
|
|
|
|
2. **Update remote URL with token**:
|
|
```bash
|
|
cd /home/intlc/projects/proxmox/pr-workspace/chains
|
|
git remote set-url origin https://defiQUG:YOUR_TOKEN@github.com/defiQUG/chains.git
|
|
```
|
|
Replace `YOUR_TOKEN` with your actual token.
|
|
|
|
3. **Push**:
|
|
```bash
|
|
git push origin update-chainid-138-rpc-endpoints
|
|
```
|
|
|
|
**Note**: The token will be visible in `git remote -v`. For better security, use SSH or Git Credential Manager.
|
|
|
|
---
|
|
|
|
### Option 3: Use Git Credential Manager (Most Secure for HTTPS)
|
|
|
|
1. **Install Git Credential Manager** (if not already installed):
|
|
```bash
|
|
# On Linux
|
|
sudo apt-get install git-credential-manager
|
|
# Or download from: https://github.com/GitCredentialManager/git-credential-manager
|
|
```
|
|
|
|
2. **Configure Git to use credential manager**:
|
|
```bash
|
|
git config --global credential.helper manager
|
|
```
|
|
|
|
3. **Push (will prompt for credentials)**:
|
|
```bash
|
|
git push origin update-chainid-138-rpc-endpoints
|
|
```
|
|
- Username: `defiQUG`
|
|
- Password: Your Personal Access Token (not your GitHub password)
|
|
|
|
---
|
|
|
|
## Quick Fix Script
|
|
|
|
Run this to switch to SSH (if you have SSH keys):
|
|
|
|
```bash
|
|
cd /home/intlc/projects/proxmox/pr-workspace/chains
|
|
git remote set-url origin git@github.com:defiQUG/chains.git
|
|
git push origin update-chainid-138-rpc-endpoints
|
|
```
|
|
|
|
---
|
|
|
|
## Verify Authentication
|
|
|
|
After setting up authentication:
|
|
|
|
```bash
|
|
# Test SSH (if using SSH)
|
|
ssh -T git@github.com
|
|
|
|
# Or test with git (if using HTTPS)
|
|
git ls-remote origin
|
|
```
|
|
|
|
---
|
|
|
|
## For All Three Repositories
|
|
|
|
If you need to fix authentication for all repos:
|
|
|
|
```bash
|
|
# Chains
|
|
cd /home/intlc/projects/proxmox/pr-workspace/chains
|
|
git remote set-url origin git@github.com:defiQUG/chains.git
|
|
|
|
# Cross-Chain-Mirroring
|
|
cd /home/intlc/projects/proxmox/pr-workspace/Cross-Chain-Mirroring
|
|
git remote set-url origin git@github.com:defiQUG/Cross-Chain-Mirroring.git
|
|
|
|
# app-ethereum
|
|
cd /home/intlc/projects/proxmox/pr-workspace/app-ethereum
|
|
git remote set-url origin git@github.com:defiQUG/app-ethereum.git
|
|
```
|
|
|
|
---
|
|
|
|
**Last Updated**: 2025-12-24
|
|
**Status**: Authentication guide ready
|
|
|