How do I check the OpenSSH server on Windows Server?
The Windows SSH server is the sshd service. It is separate from the SSH client used to make outbound connections. Check the feature, service and listener individually, because having the feature installed does not guarantee that remote logins are available.
Instructions
1. Inspect the server feature and service
Use an authorised elevated PowerShell session on the Windows server if required.
Get-WindowsCapability -Online -Name 'OpenSSH.Server~~~~0.0.1.0'
Get-Service sshdWindows releases differ in default installation state. Read the actual result instead of assuming the server component is installed or enabled.
2. Inspect the configured listener
Use the actual SSH port if it differs from the default.
Get-NetTCPConnection -State Listen -LocalPort 22 | Select-Object LocalAddress, LocalPort, OwningProcessConfirm a listener exists and is associated with the intended SSH service.
3. Review Windows-specific access rules
The default remote shell may be CMD. Key locations and administrator-account handling differ from Linux. If configuration changes are needed, follow Microsoft’s Windows-specific OpenSSH documentation and validate an alternate access path first.
Check the result
- The expected feature and sshd service are present.
- The service listens on the intended address and port, and an authorised test login succeeds.
Troubleshooting
- The client works but Get-Service sshd fails
- Only the client may be installed. An outbound SSH tool is not an inbound server.
- A standard user key works but an administrator key does not
- Inspect Windows administrator authorised-key handling and ACL requirements rather than copying Linux paths.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
