remote: Invalid username or token.
Password authentication is not supported for Git operations.
GitHub no longer accepts passwords! You need either:
- SSH Key (one-time setup, most secure)
- Personal Access Token (quick, easier for first-time)
cd /home/developer/rust/paddle_decoder_cross_platform
./github_auth_setup.shThe script will guide you through everything! ⬆️ This is the easiest way!
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG8cdVaArW0XG+Fk+qUiQXuk5Zok4NGZLsoXH9psRUqg developer@T490s
1. Copy the key above (select and copy)
2. Add to GitHub:
- Open: https://github.com/settings/keys
- Click "New SSH key"
- Title:
T490s - Paddle Decoder - Key type:
Authentication Key - Paste your key
- Click "Add SSH key"
3. Test connection:
ssh -T git@github.comYou should see: Hi dd6ds! You've successfully authenticated...
4. Push:
cd /home/developer/rust/paddle_decoder_cross_platform
git push -u origin main✅ Done! No more authentication prompts!
1. Generate token:
- Open: https://github.com/settings/tokens
- Click "Generate new token (classic)"
- Note:
Paddle Decoder - Expiration: Choose (e.g., 90 days)
- Scopes: Check ☑️ repo (all sub-options)
- Click "Generate token"
- COPY THE TOKEN (shown only once!)
2. Switch to HTTPS:
cd /home/developer/rust/paddle_decoder_cross_platform
git remote set-url origin https://github.com/dd6ds/paddle_decoder_cross_platform.git3. Push with token:
git push -u origin mainWhen prompted:
- Username:
dd6ds - Password:
[paste your token here]
✅ Done! Token works like a password.
| Feature | SSH Key | Personal Token |
|---|---|---|
| Setup Time | 2 minutes | 1 minute |
| Security | ⭐⭐⭐⭐⭐ Most secure | ⭐⭐⭐⭐ Secure |
| Expires? | Never | Yes (you choose) |
| Prompts? | Never | Every time |
| Best For | Daily use | Quick one-time |
Recommendation: Use SSH for ongoing work!
- Open browser
- Go to: https://github.com/settings/keys
- You'll see "SSH and GPG keys" page
- Click green "New SSH key" button (top right)
- Fill in form:
Title: T490s - Paddle Decoder Key type: Authentication Key Key: [paste your public key here] - Click "Add SSH key"
- May need to enter your GitHub password
- Key appears in your list with green checkmark
ssh -T git@github.comExpected output:
Hi dd6ds! You've successfully authenticated, but GitHub does not provide shell access.
If you see this ↑ you're good to go!
cd /home/developer/rust/paddle_decoder_cross_platform
git push -u origin mainExpected output:
Enumerating objects: 50, done.
Counting objects: 100% (50/50), done.
...
To github.com:dd6ds/paddle_decoder_cross_platform.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
✅ Success!
- Open: https://github.com/settings/tokens
- Click "Generate new token" dropdown
- Select "Generate new token (classic)"
- Fill in form:
Note: Paddle Decoder Push Access Expiration: 90 days (or your choice) Select scopes: ☑ repo ☑ repo:status ☑ repo_deployment ☑ public_repo ☑ repo:invite ☑ security_events - Scroll down, click "Generate token"
- IMPORTANT: Copy the token NOW (shown only once!)
- Example:
ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - Save it somewhere safe!
- Example:
cd /home/developer/rust/paddle_decoder_cross_platform
git remote set-url origin https://github.com/dd6ds/paddle_decoder_cross_platform.gitgit push -u origin mainYou'll be prompted:
Username for 'https://github.com': dd6ds
Password for 'https://dd6ds@github.com': [paste your token here]
Note: When pasting token, you won't see it (security feature)
✅ Success!
Cause: Key not added to GitHub Fix: Add your public key to https://github.com/settings/keys
Cause: GitHub's host key not trusted Fix:
ssh-keyscan github.com >> ~/.ssh/known_hostsCause: Token wrong or missing 'repo' scope Fix: Generate new token with 'repo' scope checked
Cause: Repository doesn't exist on GitHub yet Fix: Create it at https://github.com/new
- Name:
paddle_decoder_cross_platform - Don't initialize with README
Cause: Network/firewall issue Fix: Check internet connection
GitHub stopped accepting passwords for git operations.
-
SSH Key (best for daily use)
- One-time setup
- Never expires
- No prompts
-
Personal Access Token (quick fix)
- 1-minute setup
- Expires (you set duration)
- Paste as password
./github_auth_setup.shOnce pushed, you'll see:
✅ SUCCESS! Repository pushed to GitHub!
🎉 Your code is now at:
https://github.com/dd6ds/paddle_decoder_cross_platform
- Visit your repository
- Add description
- Add topics
- Create v1.0.0 release
- Upload compiled binaries
- GitHub Docs: https://docs.github.com/en/authentication
- SSH Setup: https://docs.github.com/en/authentication/connecting-to-github-with-ssh
- Token Setup: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
73! 📻