Visualizzazione post con etichetta Open Secure Shell. Mostra tutti i post
Visualizzazione post con etichetta Open Secure Shell. Mostra tutti i post

martedì 12 marzo 2019

PowerShell: Installazione/Disinstallazione di OpenSSH Client/Server in Windows 10

OpenSSH (Open Secure Shell) è un'insieme di strumenti utilizzato per connessioni da remoto cifrate tramite il protocollo SSH. Tutto il traffico viene cifrato consentendo una comunicazione sicura e immune da intercettazioni, dirottamenti e altri tipi di attacchi.

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;
    Windows 10, Impostazioni
    FIG 1 - Windows 10, Impostazioni
  • Nella sezione App e funzionalità cliccare sul link Gestisci funzionalità facoltative;
    Windows 10, App e funzionalità
    FIG 2 - Windows 10, App e funzionalità
  • Cliccare su Aggiungi una funzionalità;
    Windows 10, 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.
    Windows 10, Installa una nuova funzionalità
    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.

    Windows 10, Disinstallazione funzionalità aggiuntive
    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*'
    PowerShell, Get-WindowsCapability
    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*
    PowerShell, Add-WindowsCapability per installare nuove funzionalità
    FIG 7 - PowerShell, Add-WindowsCapability per installare nuove funzionalità
Terminata l'installazione sarà possibile utilizzare dal prompt dei comandi o da PowerShell i seguenti comandi SSH:
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*
PowerShell, Configurazione iniziale di OpenSSH Server
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 comando
ssh username@servername

Al primo accesso al server verrà mostrato un messaggio come quello in FIG 9.
PowerShell, Connessione al server OpenSSH
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>