Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
140 lines
2.9 KiB
Markdown
140 lines
2.9 KiB
Markdown
# Fix SSH "Failed to Load Local Private Key" Error
|
|
|
|
**Last Updated:** 2026-01-31
|
|
**Document Version:** 1.0
|
|
**Status:** Active Documentation
|
|
|
|
---
|
|
|
|
**Issue:** "failed to load local private key" error when trying to connect
|
|
|
|
---
|
|
|
|
## Common Causes
|
|
|
|
1. **SSH config references a key that doesn't exist**
|
|
2. **Private key has wrong permissions**
|
|
3. **Corrupted or missing private key**
|
|
4. **SSH trying to use wrong key file**
|
|
|
|
---
|
|
|
|
## Quick Fixes
|
|
|
|
### Option 1: Use Password Authentication Only (Temporary)
|
|
|
|
Force SSH to use password authentication and skip keys:
|
|
|
|
```bash
|
|
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@192.168.11.14
|
|
```
|
|
|
|
Or with sshpass:
|
|
|
|
```bash
|
|
sshpass -p 'L@kers2010' ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@192.168.11.14
|
|
```
|
|
|
|
### Option 2: Check and Fix SSH Config
|
|
|
|
Check if there's a problematic SSH config entry:
|
|
|
|
```bash
|
|
cat ~/.ssh/config
|
|
```
|
|
|
|
If you see an entry for R630-04 or 192.168.11.14 with `IdentityFile` pointing to a missing key, either:
|
|
- Remove that entry
|
|
- Comment it out
|
|
- Create the missing key file
|
|
|
|
### Option 3: Fix Key Permissions
|
|
|
|
If keys exist but have wrong permissions:
|
|
|
|
```bash
|
|
chmod 600 ~/.ssh/id_*
|
|
chmod 644 ~/.ssh/id_*.pub
|
|
chmod 700 ~/.ssh
|
|
```
|
|
|
|
### Option 4: Remove Problematic Key References
|
|
|
|
If a specific key is causing issues, you can:
|
|
|
|
```bash
|
|
# Check which keys SSH is trying to use
|
|
ssh -v root@192.168.11.14 2>&1 | grep -i "identity\|key"
|
|
|
|
# If a specific key is problematic, temporarily rename it
|
|
mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup 2>/dev/null
|
|
mv ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.backup 2>/dev/null
|
|
```
|
|
|
|
### Option 5: Clear SSH Agent (if using)
|
|
|
|
```bash
|
|
ssh-add -D # Remove all keys from agent
|
|
eval $(ssh-agent -k) # Kill agent
|
|
```
|
|
|
|
---
|
|
|
|
## Recommended Solution
|
|
|
|
Since you have console access and just want to reset the password, use password-only authentication:
|
|
|
|
```bash
|
|
# From your local machine
|
|
sshpass -p 'YOUR_PASSWORD' ssh \
|
|
-o PreferredAuthentications=password \
|
|
-o PubkeyAuthentication=no \
|
|
-o StrictHostKeyChecking=no \
|
|
root@192.168.11.14
|
|
```
|
|
|
|
Or if you're already on console, just run commands directly without SSH.
|
|
|
|
---
|
|
|
|
## For Console Access
|
|
|
|
If you're already logged in via console, you don't need SSH at all. Just run the commands directly on R630-04:
|
|
|
|
```bash
|
|
# Reset password
|
|
passwd root
|
|
|
|
# Fix pveproxy
|
|
systemctl restart pveproxy
|
|
|
|
# Check status
|
|
systemctl status pveproxy
|
|
ss -tlnp | grep 8006
|
|
```
|
|
|
|
---
|
|
|
|
## After Fixing
|
|
|
|
Once password is reset and you can SSH in, you can:
|
|
|
|
1. **Set up SSH keys properly** (optional):
|
|
```bash
|
|
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_r630-04 -N ""
|
|
ssh-copy-id -i ~/.ssh/id_ed25519_r630-04.pub root@192.168.11.14
|
|
```
|
|
|
|
2. **Update SSH config** (optional):
|
|
```bash
|
|
cat >> ~/.ssh/config << 'EOF'
|
|
Host r630-04
|
|
HostName 192.168.11.14
|
|
User root
|
|
IdentityFile ~/.ssh/id_ed25519_r630-04
|
|
EOF
|
|
```
|
|
|
|
But for now, just use password authentication or console access.
|
|
|