Windows29 maggio 2026 7 visualizzazioni

Comment condividere una cartella tra un VPS Windows e un PC locale (2026)

Comment condividere una cartella tra un VPS Windows e un PC locale (2026)

Vuoi accedere ai file del tuo VPS Windows dal tuo PC come se fosse un disco esterno - depositare un backup, leggere log, condividere file tra colleghi. La soluzione standard su Windows si chiama SMB (Server Message Block). Ma tra un VPS esposto su Internet e il tuo PC a casa, collegare SMB così com'è è una catastrofe per la sicurezza.

Questa guida spiega come condividere una cartella da un VPS Windows e montarla su Windows, macOS e Linux - con 4 metodi classificati per sicurezza: SMB tramite VPN (raccomandato), SMB tramite tunnel SSH, SFTP, WebDAV. Tornerai con una configurazione funzionante, sicura e adatta al tuo OS client.

Perché condividere una cartella da un VPS Windows

Alcuni casi d'uso comuni:

  • Archiviare / recuperare backup sul VPS come se fosse un NAS remoto.
  • Accedere ai log di un'applicazione ospitata senza dover aprire una sessione RDP.
  • Condividere file tra colleghi tramite un VPS comune.
  • Centralizzare media (foto, video, documenti) accessibili da più postazioni.
  • Unità di rete per applicazioni aziendali che puntano a \\server\folder.

Il vantaggio di un VPS rispetto a un NAS dedicato: accessibile da qualsiasi luogo (non solo dalla rete locale), per pochi euro al mese, e in grado di ospitare altri servizi in parallelo.

⚠️ La trappola SMB su Internet - da leggere prima di tutto

SMB non è mai stato progettato per Internet. Il protocollo e la sua porta 445/TCP sono il bersaglio n°1 degli attacchi massivi - dal 2017, è il vettore principale dei ransomware (WannaCry, NotPetya e i loro eredi attuali).

Se apri la porta 445 del tuo VPS direttamente su Internet:

  • Migliaia di scansioni al giorno testeranno password Windows e CVE SMB conosciute (EternalBlue e varianti).
  • Una sola vulnerabilità non patchata può dare accesso admin completo.
  • I ransomware attuali crittografano tutti i file esposti in pochi minuti.

Regola assoluta: non esporre mai la porta 445 direttamente su Internet. Incapsula sempre SMB in una VPN, un tunnel SSH, o utilizza un'alternativa crittografata (SFTP, WebDAV/HTTPS).

Le metodologie qui sotto sono tutte conformi a questa regola.

Tabella decisionale - Quale metodo scegliere

MetodoSicurezzaPerformanceComplessità setupCompatibileRaccomandazione
A. SMB + VPN WireGuard★★★★★★★★★★Media (30 min)Win/Mac/Linux⭐ Riferimento
B. SMB + tunnel SSH★★★★★★★★AltaWin/Mac/LinuxSe già SSH
C. SFTP★★★★★★★★★Bassa (10 min)Win/Mac/Linux⭐ Il più veloce
D. WebDAV HTTPS★★★★★★★MediaWin/Mac/LinuxIntegrazione HTTP
SMB diretto porta 445☠️★★★★★BassaWin/Mac/LinuxNon FARLO MAI

Scelta rapida:

  • Vuoi un'unità di rete integrata come un NAS locale → Metodo A (SMB + VPN)
  • Vuoi solo trasferire file occasionalmente → Metodo C (SFTP)
  • Hai già accesso SSH al VPS → Metodo B (tunnel SSH)
  • Vuoi accesso web da qualsiasi browser → Metodo D (WebDAV)

Metodo A - SMB tramite VPN WireGuard (riferimento)

Principio: installare WireGuard sul VPS, il PC si connette alla VPN, il VPS diventa accessibile tramite un'IP privata (es. 10.0.0.1). Si accede quindi alla condivisione SMB come su una LAN - ma invisibile da Internet.

A.1 - Installare WireGuard sul VPS

Scarica WireGuard da wireguard.com/install e installalo sul VPS.

Generazione delle chiavi server:

cd "C:\Program Files\WireGuard"
.\wg.exe genkey | Out-File -Encoding ascii server_private.key
Get-Content server_private.key | .\wg.exe pubkey | Out-File -Encoding ascii server_public.key

Crea C:\Program Files\WireGuard\Data\Configurations\wg0.conf:

[Interface]
PrivateKey = <contenuto di server_private.key>
ListenPort = 51820
Address = 10.0.0.1/24

[Peer]
PublicKey = <chiave pubblica del PC client>
AllowedIPs = 10.0.0.2/32

Avvia il tunnel tramite il client WireGuard grafico.

A.2 - Aprire la porta WireGuard nel firewall

New-NetFirewallRule -DisplayName "WireGuard UDP 51820" `
    -Direction Inbound -Protocol UDP -LocalPort 51820 -Action Allow

A.3 - Limitare SMB solo alla rete VPN

Blocca la porta 445 su tutte le interfacce tranne che sulla VPN:

# Disabilitare SMB sulle interfacce Internet
Set-NetFirewallProfile -Profile Public,Private -Enabled True

# Consentire SMB solo dal sottorete VPN
New-NetFirewallRule -DisplayName "SMB via VPN only" `
    -Direction Inbound -Protocol TCP -LocalPort 445 `
    -RemoteAddress 10.0.0.0/24 -Action Allow

# Bloccare SMB da qualsiasi altra fonte
New-NetFirewallRule -DisplayName "Block SMB from Internet" `
    -Direction Inbound -Protocol TCP -LocalPort 445 `
    -RemoteAddress Any -Action Block -Priority 1

A.4 - Installare WireGuard sul PC client

Scarica il client WireGuard per Windows/macOS/Linux. Crea un tunnel:

[Interface]
PrivateKey = <chiave privata del client>
Address = 10.0.0.2/24

[Peer]
PublicKey = <chiave pubblica del server>
Endpoint = <ip-pubblica-vps>:51820
AllowedIPs = 10.0.0.0/24   # instrada SOLO il VPN, non tutto il tuo traffico
PersistentKeepalive = 25

Attiva il tunnel. Verifica:

ping 10.0.0.1

A.5 - Accedere alla condivisione

Apri Esplora risorse di Windows → digita nella barra degli indirizzi:

\\10.0.0.1\Condivisione

Vedi il contenuto della cartella condivisa. Inserisci le tue credenziali Windows del VPS.

Vantaggio principale: la porta 445 del VPS rimane chiusa su Internet - invisibile agli scans, immunizzata contro i ransomware SMB.

Metodo B - SMB tramite tunnel SSH

Se hai già OpenSSH installato sul VPS (da Windows Server 2019, installabile come funzionalità opzionale), puoi tunnelare SMB su SSH senza VPN.

B.1 - Installare OpenSSH Server (se non già fatto)

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
New-NetFirewallRule -Name sshd -DisplayName "OpenSSH Server" `
    -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

B.2 - Stabilire il tunnel dal PC client

Sul tuo PC (Windows 10/11, macOS, Linux):

ssh -L 4450:127.0.0.1:445 admin@<ip-vps>

Questo comando reindirizza la porta locale 4450 verso la porta 445 del VPS tramite SSH crittografato.

B.3 - Montare la condivisione localmente

Su Windows:

net use Z: \\127.0.0.1\Condivisione\port=4450

⚠️ Limitazione Windows: il client SMB Windows non accetta facilmente una porta non standard con net use. Soluzione: utilizzare indirizzi loopback o uno strumento come Tableau Network Drive (commerciale). Più semplice: utilizza il metodo A (VPN).

B.4 - Su Linux/macOS

sudo mount -t cifs //127.0.0.1/Condivisione /mnt/vps -o port=4450,username=admin

Questo metodo è elegante ma più complesso su Windows. Per un uso regolare, preferisci il metodo A.

Metodo C - SFTP (il più semplice sicuro)

SFTP è il protocollo di trasferimento file nativo di OpenSSH. Nessuna installazione pesante, crittografia completa, funziona con qualsiasi client (WinSCP, FileZilla, Cyberduck, Finder, Files Nautilus).

C.1 - Attivare OpenSSH con SFTP sul VPS

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
New-NetFirewallRule -Name sshd -DisplayName "OpenSSH Server" `
    -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

SFTP è attivato per impostazione predefinita una volta installato OpenSSH. Nessuna configurazione aggiuntiva.

C.2 - Limitare l'accesso SSH per IP (raccomandato)

Set-NetFirewallRule -DisplayName "OpenSSH Server" -RemoteAddress "<tuoi-ip-autorizzati>"

Oppure cambia la porta SSH predefinita per ridurre il rumore delle scansioni.

C.3 - Lato client: configurare un client SFTP

  • Windows: installa WinSCP (winscp.net) - gratuito, interfaccia drag-and-drop.
  • macOS: Finder → Cmd+Ksftp://<ip-vps> - integra il VPS come un volume montato.
  • Linux: Files / Nautilus → Altri luoghi → Connetti a un server → sftp://<ip-vps>.
  • Tutti i sistemi operativi: FileZilla (filezilla-project.org) - gratuito, multipiattaforma.

C.4 - Mappare SFTP come unità di rete Windows

Per avere SFTP come un disco Z: in Esplora risorse di Windows:

  1. Installa SFTP Net Drive (gratuito) o rclone mount (open source).
  2. Configura la connessione verso sftp://<ip-vps>.
  3. Scegli la lettera dell'unità (Z:).

La cartella del VPS appare come un disco locale, accessibile da tutte le tue applicazioni.

Vantaggi SFTP

  • ✓ Crittografia end-to-end (SSH).
  • ✓ Autenticazione tramite chiave SSH (impossibile da forzare).
  • ✓ Nativo multipiattaforma.
  • ✓ Nessuna porta SMB esposta.
  • ✓ Stessi porti di SSH = una sola porta da aprire.

Metodo D - WebDAV tramite HTTPS

WebDAV estende HTTP per consentire la lettura/scrittura di file. Vantaggio: utilizza la porta 443 HTTPS, quindi passa ovunque (aziende, hotel, hotspot che bloccano SSH/VPN).

D.1 - Installare il ruolo WebDAV su IIS

Install-WindowsFeature -Name Web-Server, Web-WebDAV-Publishing, Web-Basic-Auth `
    -IncludeManagementTools

D.2 - Configurare il sito IIS

Via IIS Manager:

  1. Seleziona il sito → Autenticazione → attiva Basic Authentication.
  2. Vai in WebDAV Authoring Rules → attiva WebDAV.
  3. Aggiungi una regola: utenti autorizzati, permessi Lettura/Scrittura.

D.3 - Forzare HTTPS

Installa un certificato (Let's Encrypt tramite win-acme ad esempio) e configura il sito solo sulla porta 443.

D.4 - Lato client

  • Windows: Esplora risorse → clic destro Questo PC → Connetti un'unità di rete → https://tuo-dominio.com.
  • macOS: Finder → Cmd+Khttps://tuo-dominio.com.
  • Linux: pacchetto davfs2, poi mount -t davfs https://tuo-dominio.com /mnt/dav.

Limiti WebDAV

  • Performance inferiori a SMB/SFTP.
  • Locking meno affidabile (non usarlo per database o file concorrenti).
  • Configurazione IIS più lunga.

Lato VPS - Creare la condivisione SMB in dettaglio

Qualunque sia il metodo A o B scelto, devi creare una condivisione SMB sul VPS. Ecco i due modi: GUI e PowerShell.

Metodo GUI (grafico)

  1. Crea la cartella da condividere in Esplora risorse: C:\Condivisione.
  2. Clic destro sulla cartella → Proprietà → scheda Condivisione → Condivisione avanzata.
  3. Seleziona Condividi questa cartella.
  4. Clicca su Autorizzazioni → aggiungi il tuo utente Windows → seleziona Lettura/Scrittura (Modifica + Controllo totale secondo necessità).
  5. Clicca su Cache → deseleziona la cache offline se desideri una reattività in tempo reale.

Metodo PowerShell (rapido)

# Creare la cartella
New-Item -Path "C:\Condivisione" -ItemType Directory -Force

# Creare la condivisione SMB
New-SmbShare -Name "Condivisione" `
    -Path "C:\Condivisione" `
    -FullAccess "DOMINIO\TuoAccount" `
    -Description "Condivisione utente OuiHeberg"

# Verifica
Get-SmbShare -Name "Condivisione" | Format-List

Varianti utili

# Condivisione nascosta (il nome non appare nel vicinato di rete)
New-SmbShare -Name "Condivisione$" -Path "C:\Condivisione" -FullAccess "TuoAccount"

# Condivisione in sola lettura
New-SmbShare -Name "CondivisioneRO" -Path "C:\Condivisione" -ReadAccess "Tutti"

# Attivare la crittografia SMB sulla condivisione (Windows Server 2019+)
Set-SmbShare -Name "Condivisione" -EncryptData $true -Force

Attivare la crittografia SMB globale (raccomandato)

Set-SmbServerConfiguration -EncryptData $true -Force
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
Set-SmbServerConfiguration -EnableSMB2Protocol $true -Force
  • SMB1 disabilitato = protezione contro EternalBlue.
  • EncryptData = anche tramite VPN, il contenuto rimane crittografato end-to-end.

Lato client - Montare la condivisione

Su Windows 10 / 11

Metodo 1 - Esplora risorse:

  1. Apri Esplora file.
  2. Clic destro su Questo PC → Connetti un'unità di rete.
  3. Lettera dell'unità: Z:.
  4. Cartella: \\10.0.0.1\Condivisione (IP del VPS tramite VPN).
  5. Seleziona Riconnetti all'accesso e Connetti utilizzando altre credenziali.
  6. Inserisci l'account Windows del VPS.

Metodo 2 - PowerShell:

# Mappatura temporanea
New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\10.0.0.1\Condivisione" -Credential (Get-Credential)

# Mappatura persistente dopo il riavvio
New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\10.0.0.1\Condivisione" `
    -Credential (Get-Credential) -Persist

Metodo 3 - net use:

net use Z: \\10.0.0.1\Condivisione /user:TuoAccount TuaPassword /persistent:yes

Su macOS

  1. Finder → Vai → Connetti al server (o Cmd + K).
  2. Inserisci: smb://10.0.0.1/Condivisione.
  3. Clicca Connetti, inserisci le credenziali.
  4. La condivisione appare nella barra laterale del Finder.

Per montaggio automatico all'avvio:

  1. Impostazioni di Sistema → Utenti e gruppi → scheda Accesso.
  2. Aggiungi il volume montato.

Su Linux (Ubuntu / Debian)

Installa cifs-utils:

sudo apt update
sudo apt install cifs-utils

Crea il punto di montaggio:

sudo mkdir /mnt/vps-condivisione

Montare manualmente:

sudo mount -t cifs //10.0.0.1/Condivisione /mnt/vps-condivisione \
    -o username=TuoAccount,password=TuaPassword,uid=$(id -u),gid=$(id -g)

Per un montaggio automatico all'avvio, crea un file di credenziali:

sudo bash -c 'cat > /root/.smbcredentials << EOF
username=TuoAccount
password=TuaPassword
EOF'
sudo chmod 600 /root/.smbcredentials

Poi aggiungi a /etc/fstab:

//10.0.0.1/Condivisione  /mnt/vps-condivisione  cifs  credentials=/root/.smbcredentials,uid=1000,gid=1000,iocharset=utf8,_netdev  0  0

Testa senza riavviare: sudo mount -a.

Permessi NTFS + permessi di condivisione: la regola che crea confusione

Due livelli di permessi si applicano a una condivisione SMB:

  1. Permessi di condivisione (SMB Share) - si applicano solo agli accessi di rete.
  2. Permessi NTFS - si applicano sempre (locale + rete).

Regola di calcolo: il permesso effettivo è il più restrittivo dei due.

Permessi di condivisionePermessi NTFSRisultato effettivo
LetturaLettura/ScritturaLettura
Lettura/ScritturaLetturaLettura
Controllo totaleModificaModifica
Controllo totaleControllo totaleControllo totale

Buona pratica raccomandata:

  • Permessi di condivisione: Controllo totale per Utenti autenticati.
  • Permessi NTFS: granulari (per account o per gruppo), è qui che gestisci davvero la sicurezza.
# Permessi NTFS tramite PowerShell
$acl = Get-Acl "C:\Condivisione"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
    "TuoAccount", "Modify", "ContainerInherit,ObjectInherit", "None", "Allow"
)
$acl.SetAccessRule($rule)
Set-Acl "C:\Condivisione" $acl

Risoluzione dei problemi

« Accesso negato » nonostante i permessi corretti

Cause: conflitto tra permessi di condivisione e NTFS, o cache di credenziali Windows.

Soluzione:

net use * /delete /y    # purgare tutte le mappature in cache
cmdkey /list            # vedere le credenziali memorizzate
cmdkey /delete:<nome>    # rimuovere una credenziale obsoleta

« Il percorso di rete non è stato trovato »

Cause: nessuna connettività al VPS, o nome non risolto.

Soluzione: pinga l'IP del VPS tramite VPN. Se il ping funziona ma non SMB, verifica:

  • Porta 445 aperta nel firewall del VPS per l'intervallo VPN.
  • Servizio LanmanServer avviato: Get-Service LanmanServer.

Lentezza estrema in lettura/scrittura

Cause possibili:

  • Mismatch MTU sulla VPN - aggiungi MTU = 1280 nella configurazione di WireGuard.
  • Antivirus sul client che scansiona tutto il traffico SMB.
  • SMB1 attivato (sempre da disattivare): Set-SmbServerConfiguration -EnableSMB1Protocol $false.
  • Crittografia attivata senza accelerazione hardware su un vecchio VPS: utilizza il tunnel VPN che già cripta, e disattiva EncryptData.

La condivisione scompare dopo il riavvio del VPS

Get-SmbShare -Name "Condivisione"
# Se non presente, la condivisione non è stata creata in modalità persistente

Ricrea con New-SmbShare (le condivisioni create tramite PowerShell sono persistenti per impostazione predefinita, a meno che tu non abbia utilizzato uno script che le ricrea ad ogni avvio - verifica il Task Scheduler).

Errore « STATUS_USER_SESSION_DELETED » (0xC0000203)

Cause: la sessione SMB è stata persa (disconnessione VPN, timeout di rete).

Soluzione:

# Lato client, aumentare il timeout SMB
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" `
    -Name "SessTimeout" -Value 600

« L'utente è bloccato »

Cause: politica di blocco attivata da troppe tentativi falliti (vedi la nostra guida brute-force RDP).

Soluzione: sbloccare tramite net user IlTuoAccount /active:yes o attendere la fine del blocco (30 min per impostazione predefinita).

FAQ - Condividere e montare una cartella VPS Windows

Posso condividere una cartella del mio VPS Windows direttamente su Internet? Tecnicamente sì, ma è estremamente pericoloso. La porta SMB 445 è il principale obiettivo dei ransomware dal 2017 (WannaCry, NotPetya). Non farlo mai: incapsula sempre SMB in un VPN (metodo A) o utilizza SFTP (metodo C).

Qual è il comando per creare una condivisione SMB in PowerShell? New-SmbShare -Name "Condivisione" -Path "C:\Condivisione" -FullAccess "IlTuoAccount". La condivisione è immediatamente disponibile e persistente tra i riavvii.

Come montare una cartella VPS su Mac? Nel Finder, fai Cmd + K poi digita smb://<ip-vps>/Condivisione (via VPN) o sftp://<ip-vps> per SFTP. Inserisci le tue credenziali. La cartella appare nella barra laterale come un volume montato.

SMB o SFTP: quale scegliere per un VPS? SFTP se vuoi solo trasferire o consultare file occasionalmente - più semplice, più sicuro per impostazione predefinita. SMB tramite VPN se vuoi un'unità di rete permanente montata come un disco locale per applicazioni che puntano a un percorso UNC.

Perché il mio VPS è lento in SMB tramite VPN? Le cause principali: (1) MTU mal configurata sulla VPN - imposta MTU = 1280 in WireGuard; (2) crittografia SMB cumulata alla crittografia VPN - disabilita EncryptData della condivisione se la VPN cripta già; (3) antivirus client che scansiona tutto il traffico. Su una buona connessione, dovresti ottenere 80 a 100 Mbits/s in SMB tramite WireGuard.

È necessario disabilitare SMB1 su un VPS? Sì, assolutamente. SMB1 è sfruttato da EternalBlue (la vulnerabilità alla base di WannaCry). Comando: Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force. Nessun client moderno ha bisogno di SMB1.

La mia condivisione Windows è accessibile da Linux? Sì, tramite cifs-utils (pacchetto cifs-utils su Debian/Ubuntu, samba-client su Fedora). Comando: sudo mount -t cifs //ip/condivisione /mnt/point -o username=X,password=Y. Per un montaggio automatico all'avvio, configura /etc/fstab con l'opzione _netdev.

Qual è la differenza tra permessi NTFS e permessi di condivisione? Permessi di condivisione = accesso solo tramite rete. Permessi NTFS = accesso in tutte le circostanze (locale + rete). Il permesso effettivo è il più restrittivo dei due. Buona pratica: impostare i permessi di condivisione su "Controllo totale" e gestire la sicurezza reale tramite i permessi NTFS.

Si può usare WebDAV invece di SMB? Sì, ed è utile se sei su una rete che blocca le porte SSH/VPN (hotel, aziende). WebDAV passa tramite HTTPS (porta 443) quindi passa ovunque. Tuttavia, prestazioni inferiori a SMB/SFTP e locking meno affidabile - da evitare per database o file concorrenti.

Come condividere una cartella VPS con più utenti in sola lettura? New-SmbShare -Name "CondivisioneRO" -Path "C:\Condivisione" -ReadAccess "Utenti". Poi configura i permessi NTFS della cartella per limitare chi vede cosa all'interno. È il livello NTFS che gestisce la sicurezza fine, non la condivisione SMB.

Conclusione

Condividere una cartella da un VPS Windows a un PC si riassume nella scelta tra SMB incapsulato (via VPN o SSH) per un'unità di rete permanente, o SFTP per trasferimenti occasionali crittografati. La regola assoluta da rispettare: non esporre mai la porta 445 direttamente su Internet - è la principale causa di ransomware sui VPS Windows dal 2017.

Con una configurazione WireGuard + SMB crittografato, ottieni un NAS remoto accessibile da Windows, macOS e Linux, con prestazioni native (80-100 Mbits/s tipici) e una sicurezza equivalente a una condivisione LAN.

Stai cercando un VPS Windows adatto per ospitare una condivisione di file remota? I VPS Windows OuiHeberg includono SSD NVMe per prestazioni ottimali in SMB, accesso RDP immediato, e VPN WireGuard preinstallabile come opzione, supporto 7 giorni su 7 basato in Francia.