Se si avesse l’esigenza di gestire una macchina da remoto con la possibilità di utilizzarla anche come server FTP sicuro, è utile tenere presente che sia Windows 10 che Windows Server 2019 integrano un server SSH (Secure SHell) con supporto SFTP (SSH File Transfer Protocol).
Il protocollo SFTP di per sé non prevede né autenticazione né sistemi di sicurezza: viene quindi appunto utilizzato in abbinamento con SSH che permette di stabilire una sessione remota crittografata (nessun utente posto lungo il tragitto percorso dai dati può risalire al loro contenuto).
Per configurare un server SSH con supporto SFTP in Windows 10 non è necessario installare il noto OpenSSH come componente software a sé perché è già integrato nel sistema operativo Microsoft.
Per configurare OpenSSH in Windows 10 (noi abbiamo adoperato una macchina Windows 10 Pro) e accedere al sistema in modalità remota, è sufficiente seguire alcuni semplici passaggi. Rispetto a quando OpenSSH è stato integrato in Windows 10 come funzionalità opzionale, le cose sono decisamente migliorate ed è oggi molto più facile impostare il modulo server.
Come configurare un server SSH e SFTP in Windows 10
Per installare il server OpenSSH in Windows 10, basta digitare Gestisci funzionalità facoltative nella casella di ricerca del sistema operativo, fare clic su Aggiungi una nuova funzionalità, scegliere Server OpenSSH quindi cliccare sul pulsante Installa.
Completato questo passaggio, il server OpenSSH è già pronto per funzionare: aprite il prompt dei comandi, digitate ipconfig /all
quindi annotate l’indirizzo IP locale riportato accanto alla voce Indirizzo IPv4 (l’interfaccia di rete locale dovrà essere stata impostata su Rete privata).
Premete la combinazione di tasti Windows+R
quindi scrivete services.msc
nella casella Apri.
Cercate nell’elenco il servizio OpenSSH SSH Server e fatevi doppio clic impostando su Automatico il menu a tendina Tipo di avvio.
Digitando Windows Firewall con sicurezza avanzata e cliccando su Regole connessioni in entrata si troverà una regola chiamata OpenSSH SSH Server (sshd) creata dalla procedura d’installazione di OpenSSH che fa sì che le richieste di connessione in ingresso su qualunque profilo verso il server SSH vengano sempre accettate.
A questo punto è possibile riavviare la macchina Windows 10: il server SSH OpenSSH si attiverà automaticamente.
Come amministrare il server SSH Windows 10 dai dispositivi client
Provate installare il Client OpenSSH su un altro PC ripetendo la procedura vista in precedenza ma selezionando Client OpenSSH dalla schermata Gestisci funzionalità facoltative.
Suggeriamo quindi premere Windows+X
quindi scegliere Windows PowerShell, digitare cmd
e infine cd %systemroot%\system32\openssh
.
Scrivendo ssh
seguito da nomeaccount@ipserver
, si potrà stabilire una connessione con il server SSH installato in precedenza su un PC Windows 10 collegato alla rete locale.
Al posto di nomeaccount si dovrà indicare il nome di un account utente presente sulla macchina server mentre ipserver dovrà essere sostituto con l’IP locale del sistema Windows 10. Alla comparsa del messaggio The authenticity of host can’t be established bisognerà scrivere yes
quindi premere Invio.
A questo punto la macchina Windows 10 potrà essere amministrata da riga di comando.
In alternativa si può usare il noto client SSH PuTTY scaricabile anche in versione per Windows da questa pagina.
Trasferire i file via client SFTP
Come ultimo passo è possibile installare un client FTP come FileZilla o WinSCP.
Stabilendo la connessione sulla porta 22, indicando l’indirizzo IP corretto insieme con nome utente e password di un account presente sulla macchina Windows 10, sarà possibile scaricare e inviare file usando il protocollo SFTP.
Tutto quanto abbiamo sinora illustrato funziona ovviamente non soltanto per accedere via SSH/SFTP alle macchine locali ma anche per raggiungerle da remoto da un’altra rete collegandosi con l’IP pubblico assegnato al router.
Si può aprire la porta 22 in ingresso sul router ed effettuare il port forwarding verso la macchina Windows 10 sulla quale si è configurato OpenSSH (Port forwarding, cos’è e qual è la differenza con il port triggering) attivando però un filtro sugli IP autorizzati a collegarsi.
In alternativa si può impostare un server VPN sul router, su un NAS o su un altro dispositivo egualmente connesso alla rete locale. Ne abbiamo parlato Server OpenVPN con interfaccia grafica: come installarlo e in tutti gli approfondimenti ivi citati.