Connettere PowerShell con SSH

Con PowerShell tramite SSH è possibile accedere a sistemi remoti e gestirli praticamente da qualsiasi luogo. Inoltre, SSH presenta funzioni di logging dettagliate che garantiscono il monitoraggio completo e la tracciabilità delle attività sul server.

Requisiti per poter usare PowerShell tramite SSH

Integrando SSH in Windows PowerShell è possibile creare connessioni SSH a sistemi remoti ed eseguire comandi SSH in uno script PowerShell. Questo semplifica notevolmente la gestione e l’automazione delle attività in infrastrutture IT distribuite, soprattutto in contesti eterogenei che includono sia sistemi Windows che non Windows.

Di seguito ti elenchiamo i requisiti necessari per l’uso di PowerShell:

  • Installazione di PowerShell: assicurati di avere installato PowerShell v6 (o una versione superiore) sul tuo computer. Anche se di solito il programma è già presente nei sistemi Windows, verifica che la versione in uso supporti SSH.
  • Client SSH: per stabilire una connessione SSH nell’ambiente PowerShell hai bisogno di un client SSH. Su Windows 10/11 e Windows Server 2019, OpenSSH è disponibile per impostazione predefinita. Tuttavia, se usi una versione di Windows più vecchia, potresti dover installare OpenSSH manualmente.
  • Server SSH: il server SSH è il punto di destinazione della connessione. Può essere un server Linux, un dispositivo di rete o qualsiasi altro host che supporta SSH.
  • Accesso alla rete: il tuo computer locale deve essere connesso alla rete e in grado di raggiungere il server SSH remoto. Nel firewall assicurati che la porta sia impostata sul 22, in modo da consentire la comunicazione tramite protocollo SSH.
  • Moduli PowerShell: ci sono moduli PowerShell appositamente sviluppati per l’uso di SSH, come ad esempio il modulo “PSSession” o “Posh-SSH”. Per poter usufruire delle funzionalità SSH direttamente in PowerShell assicurati che sul tuo sistema sia installato il modulo corrispondente.
  • Permessi: per stabilire una connessione SSH dal tuo computer locale e avere accesso al server remoto, devi possedere i permessi di amministratore o dei permessi avanzati. Inoltre, devi digitare una password o utilizzare una chiave SSH per autenticarti durante la connessione.
Server dedicati
Performance e innovazione
  • Hardware dedicato al 100%
  • Fatturazione al minuto
  • Potenziato dai processori Intel® Xeon® e AMD

Come usare PowerShell tramite SSH: una guida

Prima di poter usare Secure Shell (SSH) in PowerShell, devi configurare OpenSSH-Server. Successivamente potrai avviare la sessione PowerShell SSH ed eseguire i comandi sul sistema remoto.

Primo passaggio: installazione di OpenSSH

Prima di tutto, fai clic sul menu di avvio o digita “PowerShell” nella barra di ricerca. Seleziona esegui come amministratore per aprire Windows PowerShell. Una volta aperto, per installare la funzione OpenSSH sul tuo computer Windows puoi utilizzare il seguente comando PowerShell:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
powershell

Secondo passaggio: avvio del servizio OpenSSH

Una volta portata a termine l’installazione, puoi avviare il servizio OpenSSH:

Start-Service sshd
powershell

Puoi controllare se il servizio OpenSSH funziona:

Get-Service sshd
powershell

Lo stato in esecuzione (running) indica che sshd sta funzionando.

powershell-get-service-ssh.png
Il servizio Get service sshd verifica che il servizio SSH sia in funzione.

Terzo passaggio: avvio automatico del servizio server SSH

Se desideri attivare il servizio server OpenSSH ogni volta che riavvii Windows, puoi digitare il seguente comando:

Set-Service -Name sshd -StartupType 'Automatic'
powershell

Quarto passaggio: configurazione del firewall

Se hai attivato il firewall di Windows, assicurati di aggiungere una regola per consentire il traffico SSH tramite la porta 22 (la porta predefinita per SSH).

New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
powershell

Quinto passaggio: instaurazione di una connessione SSH

Ora sei pronto ad accedere al server SSH da un altro dispositivo. Per farlo, apri PowerShell sul tuo client del PC e inserisci il comando SSH completo di nome utente e indirizzo del server.

ssh username@servername
powershell

Sostituisci “username” con il tuo nome utente SSH e “servername” con l’indirizzo IP o il nome host del server remoto. Quando avvii il comando ti verrà chiesto di inserire la password SSH, a meno che tu non stia utilizzando una chiave SSH per l’autenticazione.

powershell-ssh-login.png
inserire password SSH.

Sesto passaggio: lavoro durante la sessione SSH

Ora che hai stabilito la connessione SSH potrai eseguire comandi sul server remoto come se fossi connesso direttamente. Per terminare la sessione SSH e tornare a PowerShell in locale puoi utilizzare il comando exit.

In PowerShell esistono vari comandi SSH: uno di essi è pwd che sta per “print working directory” e mostra la directory di lavoro corrente, ad esempio:

powershell-ssh-commands-example.png
Esempio di comando SSH in PowerShell.

Di seguito trovi una lista di comandi che possono essere usati in PowerShell SSH:

  • ls/dir: mostra il contenuto di una directory
  • cd: cambia la directory sul server remoto
  • touch/New-Item: crea un nuovo file
  • rm/Remove-Item: elimina un file o una directory
  • mv/Move-Item: sposta o rinomina file e directory
  • useradd: aggiunge un nuovo utente
  • scp: trasferisce file tra il client e il server

Ulteriori comandi sono disponibili nella nostra panoramica dei comandi PowerShell.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top