Microsoft ha integrato, come funzionalità facoltative, OpenSSH Client e OpenSSH Server all'interno del proprio sistema operativo. Le due funzionalità possono essere installate separatamente in Windows Server 2019 e Windows 10 1809 sia tramite interfaccia grafica (GUI) sia tramite PowerShell.
Installazione di OpenSSH Client/Server tramite GUI
- Avviare l'app Impostazioni (WIN+I) quindi cliccare su App;
FIG 1 - Windows 10, Impostazioni - Nella sezione App e funzionalità cliccare sul link Gestisci funzionalità facoltative;
FIG 2 - Windows 10, App e funzionalità - Cliccare su Aggiungi una funzionalità;
FIG 3 - Windows 10, Aggiungi una funzionalità - Selezionare la funzionalità che si intende installare e cliccare sul pulsante Installa per procedere con l'installazione.
FIG 4 - Windows 10, Installa una nuova funzionalità
Disinstallazione di OpenSSH Client/Server tramite GUI
I passaggi sono analoghi a quanto visto per l'installazione.
- Avviare l'app Impostazioni (WIN+I) quindi cliccare su App;
- Nella sezione App e funzionalità cliccare sul link Gestisci funzionalità facoltative;
- Dall'elenco delle funzionalità installate selezionare quella che si intende disinstallare e cliccare sul pulsante Disinstalla per procedere con la rimozione.
FIG 5 - Windows 10, Disinstallazione funzionalità aggiuntive
Installazione di OpenSSH Client/Server tramite PowerShell
- Per accertarsi che le funzionalità OpenSSH siano disponibili per l'installazione utilizzare il comando
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'FIG 6 - PowerShell, Get-WindowsCapability - Per installare il Client OpenSSH eseguire
Add-WindowsCapability -Online -Name OpenSSH.Client* - Per installare il Server OpenSSH eseguire
Add-WindowsCapability -Online -Name OpenSSH.Server*FIG 7 - PowerShell, Add-WindowsCapability per installare nuove funzionalità
ssh.exe
scp.exe
sftp.exe
ssh-add.exe
ssh-agent.exe
ssh-keygen.exe
ssh-keyscan.exe
Gli eseguibili sopra riportarti si trovano all'interno della cartella
C:\Windows\System32\OpenSSH\
mentre i file di SSH relativi ai nomi host noti, alle chiavi generate ecc. si trovano nel seguente percorso
%USERPROFILE%\.ssh\
Disinstallazione OpenSSH Client/Server tramite PowerShell
La disinstallazione di OpenSSH Client/Server può essere eseguita tramite il cmdlet Remove-WindowsCapability- Per disinstallare il client OpenSSH da PowerShell eseguire
Remove-WindowsCapability -Online -Name OpenSSH.Client* - Per disinstallare il server OpenSSH eseguire
Remove-WindowsCapability -Online -Name OpenSSH.Server*
Configurazione iniziale di OpenSSH Server
Per eseguire la configurazione iniziale di OpenSSH Server, lanciare una sessione PowerShell come amministratore ed eseguire i seguenti comandi- Avviare il servizio sshd con il comando
Start-Service sshd - Impostare l'avvio Automatico del servizio eseguendo
Set-Service -Name sshd -StartupType 'Automatic' - Durante l'installazione di OpenSSH Server viene creata e abilitata una regola sul firewall (OpenSSH-Server-In-TCP) per consentire le connessioni in SSH in ingresso. Verificare la presenza della regola sul firewall con il comando
Get-NetFirewallRule -Name *ssh*
FIG 8 - PowerShell, Configurazione iniziale di OpenSSH Server |
Connessione al server SSH
Sulle postazioni dove è installato il client OpenSSH è possibile connettersi al server eseguendo il comandossh username@servername
Al primo accesso al server verrà mostrato un messaggio come quello in FIG 9.
FIG 9 - PowerShell, Connessione al server OpenSSH |
Rispondendo yes si prosegue con la connessione e verrà richiesto l'inserimento della password di accesso.
A connessione avvenuta il server verrà aggiunto all'elenco locale degli host noti e verrà mostrato un prompt del tipo
domain\username@SERVERNAME C:\Users\username>