set up PowerShell 7 remoting over SSH between Windows and Linux hosts using Enter-PSSession -HostName
domain: learn.microsoft.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Install PowerShell 7+ and an SSH server/client on both ends, then configure the `subsystem powershell` entry in sshd_config to point at pwsh.
Connect interactively with `Enter-PSSession -HostName <server> -UserName <user>`, which uses SSH as transport instead of WinRM.
Run one-off remote commands non-interactively with `Invoke-Command -HostName <server> -UserName <user> -ScriptBlock { ... }`.
Authenticate with a private key instead of an interactive credential prompt using `-KeyFilePath <path-to-private-key>`.
Create a reusable persistent connection with `New-PSSession -HostName <server> -UserName <user>` for multiple subsequent commands.
Known gotchas
The SSH parameter set (-HostName/-UserName/-KeyFilePath) is mutually exclusive with the WinRM parameter set (-ComputerName); mixing them in one cmdlet call errors out.
The remote machine must already have PowerShell installed with its SSH server's subsystem configured for pwsh; otherwise SSH connects but drops into the OS's normal shell instead of a PowerShell session.
Interactive password prompts don't work in unattended scripts; key-based auth via -KeyFilePath is required, and the key's file permissions must be locked down or SSH refuses to use it.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?