Installare OpenSSH

Si applica Windows Server 2019, Windows 10: Windows Server 2022,

OpenSSH è uno strumento di connettività per l'accesso remoto che usa il protocollo SSH. Crittografa tutto il traffico tra client e server per eliminare intercettazioni, hijack della connessione e altri attacchi.

OpenSSH può essere usato per connettere dispositivi Windows 10 (build 1809 e successive) o Windows Server 2019 con il client OpenSSH installato a tali dispositivi in cui è installato il server OpenSSH.

Importante

Se OpenSSH è stato scaricato dal GitHub in PowerShell/openssh-portable,seguire le istruzioni elencate in questo articolo, non quelle riportate in questo articolo.

Installare OpenSSH usando Windows Impostazioni

Entrambi i componenti OpenSSH possono essere installati Windows Impostazioni in Windows Server 2019 e Windows 10 dispositivi.

Per installare i componenti OpenSSH:

  1. Aprire Impostazioni, selezionare App > app & funzionalità, quindi selezionare Funzionalità facoltative.

  2. Analizzare l'elenco per verificare se OpenSSH è già installato. In caso contrario, nella parte superiore della pagina selezionare Aggiungi una funzionalità e quindi:

    • Trovare il client OpenSSH e quindi fare clic su Installa
    • Trovare il server OpenSSH e quindi fare clic su Installa

Al termine dell'installazione, tornare a App > App & funzionalità e Funzionalità facoltative. OpenSSH dovrebbe essere elencato.

Nota

L'installazione del server OpenSSH creerà e abiliterà una regola del firewall denominata OpenSSH-Server-In-TCP . Questa regola consente il traffico SSH in ingresso sulla porta 22. Se questa regola non è abilitata e questa porta non è aperta, le connessioni verranno rifiutate o reimpostate.

Installare OpenSSH con PowerShell

Per installare OpenSSH usando PowerShell, eseguire PowerShell come amministratore. Per assicurarsi che OpenSSH sia disponibile, eseguire il cmdlet seguente:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

Se nessuna delle due è già installata, verrà restituito l'output seguente:

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

Installare quindi i componenti server o client in base alle esigenze:

# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Entrambi devono restituire l'output seguente:

Path          :
Online        : True
RestartNeeded : False

Avviare e configurare il server OpenSSH

Per avviare e configurare il server OpenSSH per l'uso iniziale, aprire PowerShell come amministratore, quindi eseguire i comandi seguenti per avviare sshd service :

# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# 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
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

Connessione al server OpenSSH

Dopo l'installazione, è possibile connettersi al server OpenSSH da un dispositivo Windows 10 o Windows Server 2019 con il client OpenSSH installato tramite PowerShell come indicato di seguito. Assicurarsi di eseguire PowerShell come amministratore:

ssh username@servername

Una volta connessi, viene visualizzato un messaggio simile al seguente:

The authenticity of host 'servername (10.00.00.001)' can't be established.
ECDSA key fingerprint is SHA256:(<a large string>).
Are you sure you want to continue connecting (yes/no)?

Se si seleziona Sì, il server viene aggiunto all'elenco di host SSH noti Windows client.

A questo punto viene richiesta la password. Per motivi di sicurezza, la password non verrà visualizzata durante la digitazione.

Una volta connessi, verrà visualizzato il prompt Windows della shell dei comandi:

domain\username@SERVERNAME C:\Users\username>

Disinstallare OpenSSH usando Windows Impostazioni

Per disinstallare OpenSSH usando Windows Impostazioni:

  1. Aprire Impostazioni, quindi passare a App > app & funzionalità.
  2. Passare a Funzionalità facoltative.
  3. Nell'elenco selezionare Client OpenSSH o Server OpenSSH.
  4. Selezionare Disinstalla.

Disinstallare OpenSSH con PowerShell

Per disinstallare i componenti OpenSSH tramite PowerShell, usare i comandi seguenti:

# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Potrebbe essere necessario riavviare Windows in un secondo momento se il servizio era in uso al momento della disinstallazione.