Files
explorer-monorepo/docs/GIT_AUTHENTICATION_FIX.md

3.6 KiB

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

If you have SSH keys set up:

  1. Check if you have SSH keys:

    ls -la ~/.ssh/id_*.pub
    
  2. If no SSH key exists, generate one:

    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:

    cat ~/.ssh/id_ed25519.pub
    # Copy the output
    
  4. Update remote to use SSH:

    cd /home/intlc/projects/proxmox/pr-workspace/chains
    git remote set-url origin git@github.com:defiQUG/chains.git
    
  5. Test SSH connection:

    ssh -T git@github.com
    # Should say: "Hi defiQUG! You've successfully authenticated..."
    
  6. Push again:

    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:

    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:

    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):

    # 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:

    git config --global credential.helper manager
    
  3. Push (will prompt for credentials):

    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):

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:

# 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:

# 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