Author: Mike Swanson Machine: DESKTOP-0O8A1RL Timestamp: 2026-05-21 17:00:27
2.1 KiB
name, description, applies-to
| name | description | applies-to |
|---|---|---|
| windows-openssh | Use system OpenSSH (bare `ssh`); never Git for Windows SSH; use forward slashes for all Windows paths in Git Bash | all |
SSH on Windows
Use the system OpenSSH client
The correct SSH binary on Windows is the system-installed OpenSSH at:
C:\Windows\System32\OpenSSH\ssh.exe
Do not use Git for Windows SSH (C:\Program Files\Git\usr\bin\ssh.exe). The system OpenSSH has proper Windows integration, correct key handling, and is the version that works with the Windows OpenSSH registry for key agent.
Use bare ssh, not the full path
The system OpenSSH is on PATH in Git Bash, so prefer the bare command. Always use forward slashes for any Windows path you do pass explicitly — Git Bash interprets backslashes as escape sequences.
# Correct — uses system OpenSSH via PATH
ssh guru@172.16.3.30 "sudo /opt/gururmm/build-server.sh"
ssh -i C:/Users/guru/.ssh/id_ed25519 guru@172.16.3.30 "command"
# Also correct — forward slashes in full path
"C:/Windows/System32/OpenSSH/ssh.exe" guru@172.16.3.30 "command"
# Wrong — backslash path breaks in Git Bash
C:\Windows\System32\OpenSSH\ssh.exe guru@172.16.3.30 "command"
Key file paths
SSH keys are stored in C:/Users/guru/.ssh/ — use forward slashes when specifying -i:
ssh -i C:/Users/guru/.ssh/id_ed25519 guru@172.16.3.30 "command"
Known servers
| Host | IP | User | Auth |
|---|---|---|---|
| Saturn / GuruRMM server | 172.16.3.30 | guru | SSH key (id_ed25519) |
| Pluto / build server | 172.16.3.36 | Administrator | Password (vault) |
| Jupiter / Unraid | 172.16.3.20 | root | Password (vault) |
For password auth (Pluto), use paramiko in Python when interactive stdin is not available — sshpass is not installed in the Git Bash environment.
PuTTY tools
For servers requiring interactive key acceptance or PuTTY-specific features (IX server):
pscp.exefor file transferplink.exefor commands
Both are in C:/Program Files/PuTTY/ — use forward slashes or quote with double quotes when calling from Git Bash.