Demo windows ssh keys

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Übung Windows 11 SSH-Server und SSH-Keys

Ziel der Übung
Installation des OpenSSH-Servers, Erzeugung eines Schlüsselpaares,
Hinterlegen des öffentlichen Schlüssels und Anmeldung ohne Passwort.

OpenSSH-Server installieren

prüft, ob sshd vorhanden ist
  • Get-Service -Name sshd
falls nicht installiert → installieren
  • Add-WindowsCapability -Online -Name OpenSSH.ServerThomas.will (Diskussion) 11:09, 6. Dez. 2025 (UTC)0.0.1.0
Dienst starten und dauerhaft aktivieren
  • Start-Service sshd
  • Set-Service sshd -StartupType Automatic

Firewall konfigurieren

Port 22 für eingehende Verbindungen freigeben
  • New-NetFirewallRule -Name sshd -DisplayName "OpenSSH Server" -Protocol TCP -LocalPort 22 -Action Allow

SSH-Schlüsselpaar erzeugen

erzeugt ein Ed25519-Schlüsselpaar im Benutzerprofil
  • ssh-keygen -t ed25519 -f "$env:USERPROFILE\.ssh\win11_key" -C "windows-demo"
zeigt den öffentlichen Schlüssel an
  • Get-Content "$env:USERPROFILE\.ssh\win11_key.pub"

Public Key auf Windows hinterlegen

erstellt das .ssh-Verzeichnis falls es nicht existiert
  • New-Item -ItemType Directory -Path "C:\Users\<BENUTZER>\.ssh" -Force
öffnet authorized_keys zur Bearbeitung
  • notepad "C:\Users\<BENUTZER>\.ssh\authorized_keys"
füge den Inhalt aus win11_key.pub ein und speichere

Berechtigungen setzen

Vererbung deaktivieren
  • icacls "C:\Users\<BENUTZER>\.ssh\authorized_keys" /inheritance:r
Benutzer Vollzugriff gewähren
  • icacls "C:\Users\<BENUTZER>\.ssh\authorized_keys" /grant "<BENUTZER>:F"

sshd neu laden

Dienst neu starten
  • Restart-Service sshd

Anmeldung mit Schlüssel testen

Verbindung zum Windows-SSH-Server herstellen
  • ssh -i "$env:USERPROFILE\.ssh\win11_key" <BENUTZER>@<WINDOWS-IP>

Passwortauthentifizierung deaktivieren optional

öffnet sshd_config
  • notepad "C:\ProgramData\ssh\sshd_config"
benötigte Einträge setzen
PubkeyAuthentication yes
PasswordAuthentication no
Dienst neu starten
  • Restart-Service sshd

Funktionskontrolle

Anmeldung testen → nur Key-Login muss funktionieren
  • ssh -i "$env:USERPROFILE\.ssh\win11_key" <BENUTZER>@<WINDOWS-IP>

Kontrollfragen

Warum müssen die Berechtigungen von authorized_keys streng sein?
Warum liegt authorized_keys im Benutzerprofil?
Welcher Vorteil ergibt sich aus Key-Login gegenüber Passwort-Login?
Was passiert, wenn PasswordAuthentication no aktiviert ist?