Files
MajorWiki/05-troubleshooting/networking/windows-sshd-stops-after-reboot.md
MajorLinux 59a5cc530e wiki: add Windows sshd and Ollama/Tailscale sleep articles; update indexes to 47
- 05-troubleshooting/networking/windows-sshd-stops-after-reboot.md
- 05-troubleshooting/ollama-macos-sleep-tailscale-disconnect.md
- SUMMARY.md, index.md, README.md: count 45 → 47, add 5 missing articles (3 from 2026-03-16 + 2 today)
- MajorWiki-Deploy-Status.md: session update 2026-03-17

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 21:20:15 -04:00

2.4 KiB

Windows OpenSSH Server (sshd) Stops After Reboot

🛑 Problem

SSH connections to MajorRig from a mobile device or Tailscale client time out on port 22. No connection refused error — just a timeout. The OpenSSH Server service is installed but not running.


🔍 Diagnosis

From an elevated PowerShell on MajorRig:

Get-Service sshd

If the output shows Stopped, the service is not running. This is the cause of the timeout.


Fix

Run the following from an elevated PowerShell (Win+X → Terminal (Admin)):

Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
Get-Service sshd

The final command should confirm Running. SSH connections will resume immediately — no reboot required.


🔄 Why This Happens

Trigger Reason
Windows Update reboot If sshd startup type is Manual, it won't restart after a reboot
WSL2 export/import/rebuild WSL2 reinstall operations often involve reboots that expose the same issue
Fresh Windows install OpenSSH Server is installed but startup type defaults to Manual

The Windows OpenSSH Server is installed as a Windows Feature (Add-WindowsCapability), not a WSL2 package. It runs entirely on the Windows side. However, its default startup type is Manual, meaning it will not survive a reboot unless explicitly set to Automatic.


⚠️ Key Notes

  • This is a Windows-side issue — WSL2 itself is unaffected. The service must be started and configured from Windows, not from within WSL2.
  • Elevated PowerShell requiredStart-Service and Set-Service for sshd will return "Access is denied" if run without Administrator privileges.
  • Port 2222 is also affected — both the standard port 22 and the bypass port 2222 on MajorRig are served by the same sshd service.
  • Default shell still works once fixed — MajorRig's sshd is configured to use C:\Windows\System32\wsl.exe as the default shell, dropping SSH sessions directly into WSL2/Bash. This config is preserved across service restarts.

🔎 Quick Reference

# Check status (run as Admin)
Get-Service sshd

# Start and set to auto-start (run as Admin)
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic

# Verify firewall rule exists
Get-NetFirewallRule -DisplayName "*ssh*" | Select DisplayName, Enabled, Direction, Action