Come installare il server OpenSSH integrato in Windows 10

Nell’elenco delle caratteristiche opzionali che possono essere installate in Windows 10 ci sono le versioni beta di un client OpenSSH e un server OpenSSH. Il client permette di connettersi a server SSH remoti direttamente dalla riga di comando di Windows e il server permette agli utenti remoti di connettersi in remoto a Windows 10 e ricevere un prompt dei comandi su SSH.

Per coloro che vorrebbero un accesso remoto alla console dei loro computer Windows 10, il server OpenSSH integrato in Windows 10 potrebbe essere quello che state cercando. Ancora meglio, per coloro che hanno familiarità con OpenSSH per averlo usato in Linux, la versione di Windows 10 funziona più o meno allo stesso modo.

Mentre il client OpenSSH di Windows 10 è davvero facile da installare e utilizzare, capire come ottenere il server OpenSSH è stato un vero dolore, in quanto è necessario fare un sacco di modifiche non documentate ai privilegi di autorizzazione & e la generazione della chiave non funziona come previsto. Ora che ho capito tutto, però, non dovrebbero volerci più di 10 minuti per seguire queste istruzioni e installare un’implementazione funzionante di OpenSSH Server in Windows 10.

Installazione di Windows 10 OpenSSH Server

Il primo passo è cliccare sul menu Start di Windows () e poi nel campo di ricerca digitare option. Verrà visualizzato un risultato di ricerca con l’etichetta Manage optional features, su cui dovrai cliccare. Questo aprirà la schermata Gestisci funzioni opzionali come mostrato qui sotto.

Schermo Gestisci funzioni opzionali

Questo schermo mostra tutte le funzioni opzionali di Windows attualmente installate. Ora clicca sul pulsante Aggiungi una funzione come indicato dalla freccia rossa qui sopra. Questo aprirà una lista di caratteristiche opzionali che possono essere installate. La maggior parte sono pacchetti di caratteri, ma se scorri verso il basso, vedrai una caratteristica chiamata OpenSSH Server (Beta).

Installa la caratteristica OpenSSH Server

Per installare OpenSSH Server (Beta), semplicemente selezionala e clicca sul pulsante Installa. Una volta che hai cliccato sul pulsante Installa, vedrai la funzione scomparire dalla lista. Questo è normale e non c’è nulla di cui preoccuparsi. Clicca semplicemente sulla freccia indietro in alto a sinistra della finestra e tornerai all’elenco delle funzioni installate, ma ora con OpenSSH Server (Beta) installato.

Windows 10 OpenSSH Server Installato

Puoi ora chiudere questa finestra.

Dopo l’installazione, saranno stati creati due nuovi servizi Windows chiamati sshd e sshd-agent e i file associati saranno memorizzati nella cartella C:\Windows\System32\OpenSSH. L’elenco dei file installati sono:

Per terminare l’installazione, dovresti ora riavviare il computer.

Dopo aver effettuato il login, il servizio sshd non sarà avviato e se provi ad avviarlo, Windows segnalerà di non avere i privilegi necessari per avviare il servizio.

Il servizio OpenSSH manca di un privilegio

Il privilegio mancante di cui il servizio ha bisogno è Replace a Process Level Token e dobbiamo aggiungerlo all’account NT Service\sshd. Per farlo, aprite l’Editor dei criteri di sicurezza locali cercando secpol nel menu di avvio e selezionando il risultato dei criteri di sicurezza locali che appare.

Quando l’Editor dei criteri di sicurezza locale si apre, dovreste espandere i criteri locali e cliccare con il tasto sinistro del mouse su User Rights Assignment. Una volta che avete selezionato User Rights Assignment, vedrete vari privilegi nel pannello di destra. Scorrete verso il basso fino a vedere il privilegio Replace a process level token e fate doppio clic su di esso. Questo aprirà le proprietà per quel privilegio e mostrerà gli account o i gruppi a cui è attualmente assegnato.

Sostituisci un token di livello di processo Proprietà delle autorizzazioni

Ora clicca sul pulsante Aggiungi utente o gruppo e inserisci NT Service\sshd nel campo Inserisci i nomi degli oggetti da selezionare come mostrato sotto.

Aggiungi account al privilegio

Quando hai finito, clicca su OK per dare questo privilegio a sshd. Potete quindi premere il pulsante OK per chiudere le proprietà e poi chiudere l’editor dei criteri di sicurezza locali.

Anche con il privilegio abilitato, quando provate ad avviare il servizio sshd, Windows mostrerà l’errore “Windows could not start the sshd service on Local Computer. Errore 1067: The Process terminated unexpectedly.”

Errore 1067 quando cerchi di avviare il servizio SSHD

Se guardi nel file C:\Windows\System32\OpenSSH\Logs\sshd.log file mostrerà errori come i seguenti.

SSHD sta mostrando questi errori perché non hai generato le chiavi host che saranno usate per crittografare il traffico tra il server e il client. Per creare queste chiavi abbiamo bisogno di eseguire il comando C:\Windows\System32\OpenSSH\ssh-keygen.exe -A da un prompt dei comandi elevato in modo che le chiavi siano create nella cartella C:\Windows\System32\OpenSSH.

Utilizzando il comando “ssh-keygen -A” si genererà una chiave usando il percorso predefinito del file chiave, una passphrase vuota, bit predefiniti per il tipo di chiave e un commento predefinito. Normalmente, aggiungerei una passphrase alla chiave, ma nell’attuale versione di Windows 10 di OpenSSH, ssh-keygen risponderà con un errore “failed: invalid argument” quando si cerca di aggiungere una passphrase.

Running ssh-keygen.exe

Quando ssh-keygen ha finito di creare e salvare la chiave, vi riporterà al prompt dei comandi come mostrato sopra. Puoi digitare exit e premere invio per uscire dal prompt dei comandi elevato.

Purtroppo, non abbiamo ancora finito e se provi ad avviare il servizio sshd, Windows risponderà nuovamente con un “Errore 1067”. Questo perché l’account NT Service\sshd non ha accesso al file C:\Windows\system32\OpenSSH\ssh_host_ed25519_key. Per risolvere questo problema, vai nelle proprietà del file ssh_host_ed25519_key e fai le seguenti modifiche:

  • Cambia il proprietario del file a NT Service\sshd.
  • Dai a NT Service\sshd solo il permesso di lettura a questo file.
  • Rimuovi i permessi per tutti gli utenti a questo file. Per esempio, il tuo account loggato avrà i permessi, che dovrebbero essere rimossi.

Una volta fatto, i tuoi permessi sul file ssh_host_ed25519_key dovrebbero essere come:

Buoni permessi

Se non imposti i permessi correttamente, non sarai in grado di avviare il servizio sshd e il file di log mostrerà i seguenti errori:

Quando avrete impostato i permessi corretti sul file della chiave privata, potrete avviare nuovamente il servizio sshd. Questa volta, però, il servizio sshd si avvierà e sarà disponibile per i computer per connettersi.

SSHD Service Started

Ora che il servizio è in esecuzione è possibile connettersi in remoto al proprio box Windows 10 tramite SSH. Qui sotto c’è un esempio di come appare quando si fa SSH in un computer Windows 10. Nota che ottieni un prompt dei comandi completo dove puoi eseguire tutti gli strumenti della linea di comando, incluso PowerShell.

Prompt dei comandi di Windows 10 su SSH

Il servizio sshd è su Automatic (Delayed Start), il che significa che Windows lancerà questo servizio dopo che tutti gli altri servizi che sono impostati su Automatic hanno finito di avviarsi. Pertanto, dopo aver riavviato un computer, potrebbero essere necessari alcuni minuti prima che il server OpenSSH sia attivo e funzionante e possa essere connesso.

Con un server OpenSSH in esecuzione su Windows 10, hai aggiunto un ulteriore livello di flessibilità su come puoi gestire un computer. Se decidi di abilitare il server OpenSSH, assicurati che la porta 22, su cui sshd ascolta, sia accessibile solo da indirizzi IP fidati.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.