Content
Installazione, test e disinstallazione di un server SFTP basato su OpenSSH in Windows
Guida passo passo
Installazione e configurazione di un server SFTP (SSH FTP)
Per prima cosa è necessario scaricare e installare OpenSSH da GitHub:
https://github.com/PowerShell/...
Scaricare l'archivio: OpenSSH-Win64.zip
1) Estrarre il contenuto dell'archivio in una directory di destinazione, ad esempio:"C:\Windows"

2) Aprire le proprietà del sistema(WIN+R, comando "sysdm.cpl") -> Avanzate -> Variabili d'ambiente
La finestra che appare ha due sezioni: quella superiore contiene le variabili d'ambiente dell'utente, quella inferiore le variabili di sistema.
Nelle variabili di sistema selezionare la variabile"Percorso" e fare clic su"Cambia...".

3) Nella finestra che si apre, fate clic su"Nuovo" e inserite il percorso della directory OpenSSH del passo 1, in questo esempio:"C:\Windows\OpenSSH-Win64".

4) Avviare"PowerShell" come amministratore:
Avvio, digitare"PowerShell"→ Fare clic con il pulsante destro del mouse su"PowerShell" → Eseguire come amministratore

5) Navigare nella directory OpenSSH, in questo esempio:"C:\Windows\OpenSSH-Win64".
cd C:\Windows\OpenSSH-Win64
Installare il server OpenSSH:
(dovrebbe apparire il messaggio verde "sshd and ssh-agent services successfully installed");
.\Install-sshd.ps1
Abilitare l'autorun per il servizio SSHD:
Set-Service -Name sshd -StartupType ‘Automatic’
Aprire la porta TCP 22 nel firewall di Windows per il traffico in entrata al server SSH:
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
Impostare il proprietario del file e i diritti di accesso: (Rispondere a ogni domanda con una"Y")
.\FixHostFilePermissions.ps1

6) Aprire l'elenco dei servizi(WIN+R, comando"services.msc") -> Fare doppio clic su"OpenSSH SSH Server" → Impostare il tipo di avvio:"Automatico", fare clic su "Esegui" → OK

Verifica della connessione SFTP con WinSCP
Scaricare ed eseguire il client gratuito WinSCP.
Nella finestra delle impostazioni di connessione, selezionare il protocollo di trasferimento file SFTP, specificare il nome del server e i dettagli dell'account Windows con cui ci si connette.

Se tutto è stato impostato correttamente, il client dovrebbe connettersi al server SFTP e visualizzare un elenco di file nella home directory dell'utente (la directory predefinita con il profilo dell'utente).
Utilizzando la familiare interfaccia del file manager, i file possono essere copiati in modo sicuro tra il server e il client. Il trasferimento dei file avviene tramite il protocollo sicuro SFTP.

Disinstallazione del servizio Win32 OpenSSH
Per rimuovere correttamente il servizio Win32 OpenSSH dal sistema:
1) Avviare"PowerShell" come amministratore:
Avvio, digitare"PowerShell"→ Fare clic con il pulsante destro del mouse su"PowerShell" → Eseguire come amministratore

2) Navigare nella directory di OpenSSH, in questo esempio: "C:\Windows\OpenSSH-Win64".
cd C:\Windows\OpenSSH-Win64
3) Arrestare il servizio SSHD:
Stop-Service sshd
4) Disinstallare il servizio OpenSSD:
.\uninstall-sshd.ps1

Problemi con la configurazione di OpenSSH su Windows e come risolverli
La configurazione di OpenSSH su Windows può essere un po' complicata, specialmente dopo gli aggiornamenti di Windows rilasciati dopo ottobre 2024, poiché questi possono influire sul funzionamento di OpenSSH. Se riscontri problemi con OpenSSH, come l'errore 1067 o l'impossibilità di connetterti, installa l'aggiornamento di Windows KB5052093 (febbraio 2025). Questo aggiornamento include correzioni per i problemi causati dagli aggiornamenti di ottobre 2024. Verifica la sua disponibilità in "Impostazioni" → "Aggiornamento e sicurezza" → "Windows Update" (inclusi gli aggiornamenti facoltativi). Prima dell'installazione, crea un punto di ripristino del sistema per eventuali problemi imprevisti. Inoltre, per risolvere la maggior parte dei problemi, utilizza le soluzioni indicate nella seguente tabella.
Problema | Causa | Soluzione |
---|---|---|
Il servizio non si avvia (errore 1067) | Modifica dei permessi di accesso a C:\ProgramData\ssh\logs | Lasciare solo SYSTEM e Amministratori con accesso completo |
Impossibile connettersi | Il firewall blocca la porta 22 | Aggiungere una regola nel firewall per la porta 22 |
Errori di autenticazione | Credenziali errate o configurazioni delle chiavi | Verificare le credenziali, aggiungere PubkeyAcceptedAlgorithms +ssh-rsa in sshd_config |
Il servizio è nello stato "installpending" | Installazione incompleta | Reinstallare OpenSSH, eliminare la cartella C:\Windows\System32\OpenSSH |
Problemi con la connessione esterna | La porta 22 è bloccata dal router | Configurare l'inoltro della porta 22 |
Sessioni SSH bloccate | Errori in OpenSSH o nelle configurazioni del client | Aggiornare OpenSSH, verificare le configurazioni del client |