Con Po­wer­Shell tramite SSH è possibile accedere a sistemi remoti e gestirli pra­ti­ca­men­te da qualsiasi luogo. Inoltre, SSH presenta funzioni di logging det­ta­glia­te che ga­ran­ti­sco­no il mo­ni­to­rag­gio completo e la trac­cia­bi­li­tà delle attività sul server.

Requisiti per poter usare Po­wer­Shell tramite SSH

In­te­gran­do SSH in Windows Po­wer­Shell è possibile creare con­nes­sio­ni SSH a sistemi remoti ed eseguire comandi SSH in uno script Po­wer­Shell. Questo sem­pli­fi­ca no­te­vol­men­te la gestione e l’au­to­ma­zio­ne delle attività in in­fra­strut­tu­re IT di­stri­bui­te, so­prat­tut­to in contesti ete­ro­ge­nei che includono sia sistemi Windows che non Windows.

Di seguito ti elen­chia­mo i requisiti necessari per l’uso di Po­wer­Shell:

  • In­stal­la­zio­ne di Po­wer­Shell: as­si­cu­ra­ti di avere in­stal­la­to Po­wer­Shell 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 con­nes­sio­ne SSH nell’ambiente Po­wer­Shell hai bisogno di un client SSH. Su Windows 10/11 e Windows Server 2019, OpenSSH è di­spo­ni­bi­le per im­po­sta­zio­ne pre­de­fi­ni­ta. Tuttavia, se usi una versione di Windows più vecchia, potresti dover in­stal­la­re OpenSSH ma­nual­men­te.
  • Server SSH: il server SSH è il punto di de­sti­na­zio­ne della con­nes­sio­ne. Può essere un server Linux, un di­spo­si­ti­vo 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 rag­giun­ge­re il server SSH remoto. Nel firewall as­si­cu­ra­ti che la porta sia impostata sul 22, in modo da con­sen­ti­re la co­mu­ni­ca­zio­ne tramite pro­to­col­lo SSH.
  • Moduli Po­wer­Shell: ci sono moduli Po­wer­Shell ap­po­si­ta­men­te svi­lup­pa­ti per l’uso di SSH, come ad esempio il modulo “PSSession” o “Posh-SSH”. Per poter usufruire delle fun­zio­na­li­tà SSH di­ret­ta­men­te in Po­wer­Shell as­si­cu­ra­ti che sul tuo sistema sia in­stal­la­to il modulo cor­ri­spon­den­te.
  • Permessi: per stabilire una con­nes­sio­ne SSH dal tuo computer locale e avere accesso al server remoto, devi possedere i permessi di am­mi­ni­stra­to­re o dei permessi avanzati. Inoltre, devi digitare una password o uti­liz­za­re una chiave SSH per au­ten­ti­car­ti durante la con­nes­sio­ne.
Server dedicati
Per­for­man­ce e in­no­va­zio­ne
  • Pro­ces­so­ri al­l'a­van­guar­dia di ultima ge­ne­ra­zio­ne
  • Hardware dedicato ad alte pre­sta­zio­ni
  • Data center cer­ti­fi­ca­ti ISO

Come usare Po­wer­Shell tramite SSH: una guida

Prima di poter usare Secure Shell (SSH) in Po­wer­Shell, devi con­fi­gu­ra­re OpenSSH-Server. Suc­ces­si­va­men­te potrai avviare la sessione Po­wer­Shell SSH ed eseguire i comandi sul sistema remoto.

Primo passaggio: in­stal­la­zio­ne di OpenSSH

Prima di tutto, fai clic sul menu di avvio o digita “Po­wer­Shell” nella barra di ricerca. Seleziona esegui come am­mi­ni­stra­to­re per aprire Windows Po­wer­Shell. Una volta aperto, per in­stal­la­re la funzione OpenSSH sul tuo computer Windows puoi uti­liz­za­re il seguente comando Po­wer­Shell:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
po­wer­shell

Secondo passaggio: avvio del servizio OpenSSH

Una volta portata a termine l’in­stal­la­zio­ne, puoi avviare il servizio OpenSSH:

Start-Service sshd
po­wer­shell

Puoi con­trol­la­re se il servizio OpenSSH funziona:

Get-Service sshd
po­wer­shell

Lo stato in ese­cu­zio­ne (running) indica che sshd sta fun­zio­nan­do.

Immagine: Servizio PowerShell tramite SSH
Il servizio Get service sshd verifica che il servizio SSH sia in funzione.

Terzo passaggio: avvio au­to­ma­ti­co 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'
po­wer­shell

Quarto passaggio: con­fi­gu­ra­zio­ne del firewall

Se hai attivato il firewall di Windows, as­si­cu­ra­ti di ag­giun­ge­re una regola per con­sen­ti­re il traffico SSH tramite la porta 22 (la porta pre­de­fi­ni­ta per SSH).

New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
po­wer­shell

Quinto passaggio: in­stau­ra­zio­ne di una con­nes­sio­ne SSH

Ora sei pronto ad accedere al server SSH da un altro di­spo­si­ti­vo. Per farlo, apri Po­wer­Shell sul tuo client del PC e inserisci il comando SSH completo di nome utente e indirizzo del server.

ssh username@servername
po­wer­shell

So­sti­tui­sci “username” con il tuo nome utente SSH e “ser­ver­na­me” 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 uti­liz­zan­do una chiave SSH per l’au­ten­ti­ca­zio­ne.

Immagine: Login PowerShell tramite SSH
inserire password SSH.

Sesto passaggio: lavoro durante la sessione SSH

Ora che hai stabilito la con­nes­sio­ne SSH potrai eseguire comandi sul server remoto come se fossi connesso di­ret­ta­men­te. Per terminare la sessione SSH e tornare a Po­wer­Shell in locale puoi uti­liz­za­re il comando exit.

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

Immagine: Esempio PWD per i comandi PowerShell
Esempio di comando SSH in Po­wer­Shell.

Di seguito trovi una lista di comandi che possono essere usati in Po­wer­Shell 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: tra­sfe­ri­sce file tra il client e il server

Ulteriori comandi sono di­spo­ni­bi­li nella nostra pa­no­ra­mi­ca dei comandi Po­wer­Shell.

Vai al menu prin­ci­pa­le