139 lines
3.4 KiB
Markdown
139 lines
3.4 KiB
Markdown
# SSH Passwordless Access Setup
|
|
|
|
**Problem:** Automated deployments require password entry, causing delays and requiring manual intervention.
|
|
|
|
**Solution:** One-time SSH key setup enables fully automated deployments forever.
|
|
|
|
---
|
|
|
|
## Quick Setup (One Command)
|
|
|
|
Run this PowerShell command **once** with your RMM password:
|
|
|
|
```powershell
|
|
cd D:\ClaudeTools
|
|
.\setup-ssh-keys.ps1
|
|
```
|
|
|
|
When prompted for password, enter your RMM password. You'll enter it **3 times total** (for pscp, mkdir, and key install).
|
|
|
|
**After this ONE-TIME setup:**
|
|
- `deploy.ps1` will work without ANY prompts
|
|
- `pscp` commands work automatically
|
|
- `plink` commands work automatically
|
|
- No more 4-hour debugging sessions due to deployment issues
|
|
|
|
---
|
|
|
|
## What It Does
|
|
|
|
1. **Generates SSH key pair** (already done: `~/.ssh/id_rsa`)
|
|
2. **Copies public key** to RMM server
|
|
3. **Configures authorized_keys** for guru user
|
|
4. **Tests passwordless access**
|
|
|
|
Total time: 30 seconds
|
|
|
|
---
|
|
|
|
## Alternative: Manual Setup
|
|
|
|
If you prefer to do it manually:
|
|
|
|
```bash
|
|
# 1. Copy public key to RMM server
|
|
pscp %USERPROFILE%\.ssh\id_rsa.pub guru@172.16.3.30:/tmp/claude_key.pub
|
|
|
|
# 2. SSH to RMM and install key
|
|
plink guru@172.16.3.30
|
|
mkdir -p ~/.ssh
|
|
chmod 700 ~/.ssh
|
|
cat /tmp/claude_key.pub >> ~/.ssh/authorized_keys
|
|
chmod 600 ~/.ssh/authorized_keys
|
|
rm /tmp/claude_key.pub
|
|
exit
|
|
|
|
# 3. Test passwordless access
|
|
plink -batch guru@172.16.3.30 "echo 'Success!'"
|
|
```
|
|
|
|
---
|
|
|
|
## Verification
|
|
|
|
After setup, this command should work WITHOUT password prompt:
|
|
|
|
```powershell
|
|
plink -batch guru@172.16.3.30 "echo 'Passwordless SSH working!'"
|
|
```
|
|
|
|
**Expected output:** `Passwordless SSH working!`
|
|
|
|
**If it prompts for password:** Setup failed, re-run `setup-ssh-keys.ps1`
|
|
|
|
---
|
|
|
|
## Why This Matters
|
|
|
|
**Before SSH keys:**
|
|
- Every `deploy.ps1` run requires 3-5 password entries
|
|
- Cannot run automated deployments
|
|
- Manual file copying required
|
|
- High risk of deploying wrong files
|
|
- 4+ hours wasted debugging version mismatches
|
|
|
|
**After SSH keys:**
|
|
- `.\deploy.ps1` - ONE command, ZERO prompts
|
|
- Fully automated version checking
|
|
- Automatic file deployment
|
|
- Service restart without intervention
|
|
- Post-deployment verification
|
|
- **Total deployment time: 30 seconds**
|
|
|
|
---
|
|
|
|
## Security Notes
|
|
|
|
**SSH Key Location:** `C:\Users\MikeSwanson\.ssh\id_rsa` (private key)
|
|
**Public Key Location:** `C:\Users\MikeSwanson\.ssh\id_rsa.pub`
|
|
|
|
**Key Type:** RSA 4096-bit
|
|
**Passphrase:** None (enables automation)
|
|
**Access:** Only your Windows user account can read the private key
|
|
**RMM Access:** Only guru@172.16.3.30 can use this key
|
|
|
|
**Note:** The private key file has restricted permissions. Keep it secure.
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
**"FATAL ERROR: Cannot answer interactive prompts in batch mode"**
|
|
- SSH keys not installed yet
|
|
- Run `setup-ssh-keys.ps1` to install them
|
|
|
|
**"Permission denied (publickey,password)"**
|
|
- authorized_keys file has wrong permissions
|
|
- On RMM: `chmod 600 ~/.ssh/authorized_keys`
|
|
|
|
**"Could not resolve hostname"**
|
|
- Network issue
|
|
- Verify RMM server is reachable: `ping 172.16.3.30`
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
1. **Run setup script:** `.\setup-ssh-keys.ps1`
|
|
2. **Verify it works:** `plink -batch guru@172.16.3.30 "whoami"`
|
|
3. **Deploy safeguards:** `.\deploy.ps1`
|
|
4. **Never waste 4 hours again**
|
|
|
|
---
|
|
|
|
**Status:** SSH key generated ✓
|
|
**Action Required:** Run `setup-ssh-keys.ps1` once to install on RMM server
|
|
**Time Required:** 30 seconds
|
|
**Password Entries:** 3 (one-time only)
|
|
**Future Password Entries:** 0 (automated forever)
|