Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseBlog
Come utilizzare OpenSSH per spostare file in Windows Server

Come utilizzare OpenSSH per spostare file in Windows Server

Apr 5, 2024

Gli amministratori di Linux e Unix sono abituati ad utilizzare Open Secure Shell (OpenSSH) per connettersi ai server perché è incluso in questi sistemi da decenni. Gli utenti Windows, d'altra parte, hanno tradizionalmente dovuto scaricare strumenti di terze parti come Putty o WinSCP per utilizzare le capacità SSH.

Tuttavia, ciò è cambiato quando OpenSSH è diventato disponibile come funzionalità opzionale in Windows 10 e Windows Server 2019. Poiché Windows ora offre nativamente sia il server SSH che il client SSH, non c'è motivo di utilizzare mai telnet o FTP, che non dispongono di capacità di crittografia — SSH offre una sicurezza superiore quando è necessario connettersi a un server o copiare file tramite una connessione di rete.

Questo articolo spiega in dettaglio come installare OpenSSH e come utilizzarlo per trasferire file in modo sicuro tramite WinSCP o PowerShell.

A cosa serve OpenSSH?

OpenSSH è uno strumento che fornisce sessioni di comunicazione sicure su una rete informatica utilizzando il protocollo SSH. Può essere utilizzato per una varietà di compiti, inclusi i seguenti:

  • Accedi in modo sicuro alle macchine remote per eseguire comandi per la gestione del server o il supporto tecnico.
  • Copiate o spostate file tra due macchine in modo sicuro.

Questi compiti sono sicuri perché OpenSSH include il protocollo Secure Copy (SCP) e il protocollo SSH File Transfer (SFTP), e OpenSSH cripta tutto il traffico attraverso un tunnel sicuro, permettendoti di trasmettere dati sensibili attraverso internet o una rete non sicura. Il tunnel viene creato quando il client e il server scambiano le chiavi pubbliche.

Come aggiungere la funzionalità OpenSSH su Windows

Prerequisiti

Per installare OpenSSH su una macchina Windows:

  • Il dispositivo deve eseguire almeno Windows Server 2019 o Windows 10 (build 1809).
  • La macchina deve eseguire PowerShell 5.1 o versioni successive.
  • Devi utilizzare un account che sia membro del gruppo di Amministratori integrato.

Dovresti iniziare verificando se OpenSSH è già installato. Utilizzando un terminale PowerShell di Amministratori, esegui questo comando:

      Get-WindowsCapability -Online -Name "Open*"
      

Nello screenshot qui sotto puoi vedere che il client OpenSSH è installato ma il server OpenSSH non lo è.

Image

È possibile installare sia il server OpenSSH che il client OpenSSH utilizzando le impostazioni di Windows o PowerShell, come spiegato di seguito.

Installazione di OpenSSH tramite le Impostazioni di Windows

  1. Per iniziare, vai alla sezione Apps & features delle Impostazioni e clicca su Manage optional features.
Image
  • Clicca Add a feature.
Image
  • Per installare il componente del server, seleziona OpenSSH Server e clicca sul pulsante Installa.
Image
  • Successivamente, installa il client SSH. Seleziona OpenSSH Client e clicca Install. Nota che se il client è già installato, vedrai un pulsante Uninstall invece, come mostrato di seguito; in tal caso, non è necessaria alcuna azione.
Image
  • Configurare il servizio OpenSSH per l'esecuzione automatica tramite il Gestore Servizi di Windows, come illustrato in questa schermata:
Image
  • Se Windows Defender Firewall con Sicurezza avanzata è attivo, sarà necessario aprire la porta 22, che è assegnata a SSH dall'Internet Assigned Numbers Authority (IANA).

Usare PowerShell per installare OpenSSH

In alternativa, puoi installare i componenti server e client di OpenSSH utilizzando Windows PowerShell.

  1. Installa il componente del server OpenSSH utilizzando il seguente comando:
      Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

      
Image
  • Quindi installa il client OpenSSH utilizzando il seguente comando:
      Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
      
  • Quindi utilizza i seguenti comandi PowerShell per configurare il servizio OpenSSH e avviarlo.
      Start-Service sshd
Set-Service -Name sshd -StartupType ‘Automatic’
      
Image
  • Come accennato in precedenza, la porta 22 deve essere aperta sul firewall. Puoi verificare rapidamente se una regola del firewall è già configurata per OpenSSH utilizzando il seguente comando:
      Get-NetFirewallRule -Name *ssh*
      

L'output qui sotto mostra che una regola è già stata creata.

Image

Se la regola è assente, utilizza il seguente comando per aprire la porta SSH:

      New-NetFirewallRule -Name sshd -DisplayName ‘OpenSSH Server (sshd)’ -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
      
  • Infine, assicurati che tutto sia configurato correttamente e che il demone OpenSSH sia in ascolto per le connessioni in entrata. Per testare la connessione, esegui il seguente comando da un server o una macchina desktop differente:
      Test-NetConnection -ComputerName <computer name> -Port 22 -InformationLevel Detailed
      

Se il test ha successo, vedrai qualcosa di simile:

Image

Se fallisce, potrebbe significare diverse cose relative alla connettività di rete; come la regola del Firewall che non è stata creata o abilitata su un computer remoto.

Come spostare un file utilizzando SSH

Spostare un file tramite SSH è quasi uguale a spostarlo con un'applicazione FTP come WinSCP. Nota che devi avere il permesso di leggere il file sulla macchina sorgente e il permesso di scrittura sulla directory di destinazione.

Spostare un file utilizzando WinSCP

Innanzitutto, utilizziamo prima l'utilità WinSCP per testare il nuovo server SSH. (Se necessario, puoi scaricare WinSCP qui.) Nota che se utilizzi WinSCP, non è necessario abilitare il client OpenSSH.

  1. Apri WinSCP e definisci una nuova connessione al server: Scegli Nuovo Sito, assicurati che il protocollo del file sia impostato su SFTP e la porta sia impostata su 22 (i valori predefiniti), e inserisci un nome utente, come mostrato nell'esempio sottostante.
Image
  • Fai clic sul pulsante Login e inserisci la password dell'account che hai specificato. La successiva finestra di dialogo mostrerà l'impronta digitale della chiave ECDSA del server, come illustrato nello screenshot sottostante. Questa chiave è utilizzata principalmente per assicurarsi che il client stia comunicando con il server giusto. Quando il client si connette al server per la prima volta, la chiave pubblica dell'host viene trasmessa al client. Fai clic su per procedere.
Image
  • Nella finestra successiva, il riquadro di sinistra mostrerà la cartella predefinita della macchina sorgente, e il riquadro di destra mostrerà la cartella predefinita per l'utente sul server di destinazione. Naviga verso le cartelle desiderate. Nell'esempio sottostante, abbiamo cliccato con il tasto destro su un file per scaricarlo sul dispositivo client. In alternativa, puoi trascinare i file da un lato all'altro.
Image

Copiare un file o una directory utilizzando OpenSSH

Per copiare un file utilizzando Windows OpenSSH, puoi usare il seguente comando PowerShell. Nota che sia il server OpenSSH che il client devono essere abilitati.

      scp <filename>  <username>@<hostname>:<directory_path>
      

Per copiare un'intera directory, utilizzare il seguente comando.

      scp -r <local_directory_path>  <username>@<hostname>:<remote_directory_path>
      

Se la directory non esiste sul server di destinazione, verrà creata (presupponendo che si abbia il permesso di farlo).

È possibile anche copiare file avanti e indietro da server Linux e Unix a server e desktop Windows.

Come Netwrix può aiutare

Se stai spostando o copiando file di dati, è probabile che tu debba proteggere tali dati — non solo durante l'operazione di trasferimento ma per tutto il loro ciclo di vita. Data access governance il software di Netwrix offre un approccio efficace e scalabile al monitoraggio delle attività dei file. Inoltre, ti aiuterà a ridurre il rischio di incidenti di cybersecurity abilitandoti a comprendere chi ha accesso a cosa e limitando rigorosamente l'accesso ai dati sensibili. Puoi:

  • Verifica l'attività in tutto il tuo ecosistema IT.
  • Riduci l'accesso ai dati sensibili al minimo necessario per ridurre il rischio di insider threat e minimizzare i danni da ransomware e altri attacchi.
  • Razionalizza le attestazioni regolari dei privilegi da parte dei proprietari dei dati.
  • Proteggi i dati sensibili ovunque vadano con un'etichettatura precisa e coerente dei contenuti.

Domande Frequenti

Come si sposta un file utilizzando SSH?

Quando si lavora con sistemi simili a Unix, è possibile utilizzare il comando mv per spostare un file da una posizione all'altra su un server remoto tramite SSH.

Per le macchine Windows, puoi installare un'applicazione server e client SSH di terze parti, oppure abilitare la funzionalità OpenSSH (richiede Windows Server 2019 o 2022, o Windows 10 o 11).

In entrambi i casi, è necessario disporre delle credenziali di accesso per connettersi, così come dei permessi necessari per leggere il file sulla macchina sorgente e il permesso di scrittura sulla directory di destinazione.

SSH consente il trasferimento di file?

Sì. SSH include il protocollo Secure Copy (SCP) e il protocollo SSH File Transfer (SFTP), che consentono il trasferimento sicuro di file tra un host locale e un host remoto.

Come posso trasferire file da un server SSH a una macchina locale?

Un modo per trasferire un file da un server OpenSSH a una macchina con una versione supportata di Windows o Windows Server è utilizzare il seguente comando PowerShell:

      scp C:\path\to\local\file username@remote-server:/path/to/remote/directory
      
  • Sostituisci C:\path\to\local\file con il percorso del file che desideri copiare sul tuo computer locale.
  • Sostituire username con il nome utente sul server remoto. (Vi verrà chiesto di inserire la password.)
  • Sostituire remote-server con il nome host o l'indirizzo IP del server remoto.
  • Sostituisci path/to/remote/directory con il percorso della directory sul server remoto dove desideri che il file venga copiato.

In alternativa, puoi utilizzare utility SSH di terze parti che offrono menu facili da usare.

Condividi su

Scopri di più

Informazioni sull'autore

Asset Not Found

Ethan Israel

Product Manager

Ethan è un Product Manager presso Netwrix. Con oltre 10 anni di esperienza nell'industria del software, è responsabile della costruzione e della realizzazione della roadmap per il prodotto Netwrix Enterprise Auditor.