OpenSSH ist ein wichtiges Tool für die sichere Fernverwaltung von Servern. Diese Anleitung beschreibt, wie Sie OpenSSH auf Windows Server 2022 installieren und konfigurieren können, um den SSH-Dienst zu nutzen.
Windows Server: OpenSSH installieren
- Übersicht
- Voraussetzungen
- Installiere OpenSSH für Windows
- Autostart für den SSH Dienst einrichten
- Konfiguriere Firewallregeln für den SSH Server
1. Übersicht
2. Voraussetzungen
Bevor Sie beginnen, muss Ihr Computer die folgenden Anforderungen erfüllen:
- Ein Gerät mit mindestens Windows Server 2019 oder Windows 10 (Build 1809).
- PowerShell 5.1 oder höher.
- Ein Konto, das Mitglied der integrierten Administratorengruppe ist.
3. Installiere OpenSSH für Windows
Um OpenSSH mit PowerShell zu installieren, führen Sie PowerShell als Administrator aus.
powershell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'Der Befehl sollte die folgende Ausgabe liefern, wenn beides bereits installiert ist:
powershell
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresentBeide Befehle sollten die folgende Ausgabe liefern:
powershell
Path :
Online : True
RestartNeeded : FalseInstallieren Sie dann je nach Bedarf die Server- oder Client-Komponenten:
Wenn Sie OpenSSH Server installieren, müssen (ggf.) Sie das System neu starten.
powershell
# Installiere den OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0Powershell
# Installiere den OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.04. Autostart für den SSH Dienst einrichten
SSH-Dienst so einrichten, dass er automatisch mit dem System startet:
powershell
Set-Service sshd -StartupType Automatic
Start-service sshd 5. Konfiguriere Firewallregeln für den SSH Server
powershell
#specificIPs = Managementserver (e.g.:IP,IP2)
$specificIPs = "172.XX.XX.XX"
# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -RemoteAddress $specificIPs
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}