Main menu

Pages

Come usare SSH

SSH Quando utilizziamo un programma sul nostro computer, siamo abituati a utilizzare un'interfaccia grafica per poter gestire tutte le sue funzioni. Ma se possediamo un server dati o un server di hosting per il nostro sito Web difficilmente applicheremo le impostazioni da un'interfaccia, visto che nella maggior parte dei casi dovremo digitare dei comandi da prompt o da terminale per poter amministrare correttamente il nostro server. Se il server è posizionato fuori dalla nostra rete domestica (per esempio su un server offerto da un provider, oppure siamo fuori casa e vogliamo accedere al nostro server personale) o vogliamo accedervi senza interfaccia grafica, dovremo realizzare una connessione sicura e cifrata per poter inviare i comandi da prompt. In questa guida vi mostreremo come utilizzare SSH per inviare comandi da terminale a distanza su qualsiasi server. Vista la difficoltà dell'argomento, cercheremo di essere i più chiari e semplici possibili, così che anche un utente alle prime armi possa imparare ad utilizzare SSH per controllare a distanza il proprio server.

Come utilizzare SSH

Qui di seguito troverete come creare un server SSH su Windows e su Linux, come connettersi ad un server SSH da Windows e infine come connettersi ad un server SSH da smartphone e tablet (da sistema operativo Android e da iOS). Se non conosciamo l'origine del servizio SSH, vi rimandiamo alla lettura della pagina Wikipedia dedicata.

Come creare un server SSH su Windows

Se utilizziamo Windows 10 sul nostro computer, possiamo installare il modulo OpenSSH. Per fare ciò apriamo il menu Start in basso a sinistra, apriamo l'app Impostazioni, apriamo il menu App -> App e funzionalità e facciamo infine clic su Funzionalità facoltative. Nella pagina che comparirà facciamo clic su Aggiungi una funzionalità, scorriamo l'elenco delle funzioni quindi assicuriamoci di selezionare la voce Server OpenSSH.
SSH Windows

Al termine dell'installazione del server, apriamo nuovamente il menu Start, cerchiamo l'app Windows PowerShell, facciamo clic destro su di essa e selezioniamo Esegui come amministratore. Nella finestra a riga di comando che comparirà, effettuiamo le configurazioni iniziali del server SSH digitando i seguenti comandi da terminale (digitiamoli una riga alla volta):

Start-Service sshd

Set-Service -Name sshd -StartupType 'Automatic'

Get-NetFirewallRule -Name *ssh*

Dopo aver avviamo questi comandi, il PC con Windows 10 che stiamo utilizzando può accettare connessioni SSH sulla porta 22, utilizzando le credenziali d'accesso configurate sull'account Windows (dovremo ovviamente inoltrare questa porta nel router o nel modem, così da poterla raggiungere quando siamo fuori dalla rete personale).

Nota: se la porta 22 non è configurabile o non è accessibile dalla nostra rete, basterà aprire il file C:\Windows\System32\OpenSSH\sshd_config e modificare la voce relativa alla porta 22, impostando una porta a piacere.

Come creare un server SSH su Linux

Su un server con Linux configurare SSH è molto più semplice, visto che OpenSSH è ben integrato con gli altri strumenti di sistema. Dopo aver configurato la macchina o il server online con Ubuntu (preso come esempio in questa guida), apriamo l'app Terminale, quindi digitiamo il seguente comando:

sudo apt-get install openssh-server

Confermiamo dove necessario per completare l'installazione del server OpenSSH. Per avviare subito il servizio è sufficiente lanciare seguente il comando da terminale:

sudo /etc/init.d/ssh restart

Il sistema utilizzerà le credenziali dell'account utente per l'accesso e la porta 22 per accettare le connessioni dall'esterno.
SSH Linux

Se vogliamo modificare la porta d'ingresso per le connessioni SSH (per le stesse motivazioni viste su Windows), basterà digitare nel terminale il comando:

sudo vi /etc/ssh/sshd_config

Dall'edito di testo navighiamo tra le varie opzioni fino a trovare la voce Port, così da poter configurare una nuova porta per le connessioni SSH.

Come connettersi ad un server SSH da Windows

Dopo aver configurato il server SSH, potremo accedervi da qualsiasi altro PC Windows 10 connesso a Internet semplicemente aprendo il programma Windows PowerShell e digitando il seguente comando da terminale:

ssh username@hostname -p portnumber

il comando è composto dal nome utente (username) che richiede l'accesso, dal nome del server (servername) e dal numero di porta da contattare.
PowerShell SSH

Come username basterà utilizzare quello dell'account utente configurato sul server, mentre come servername possiamo inserire direttamente l'indirizzo IP pubblico della connessione Internet utilizzata dal server o il nome del domino (se registrato). La porta di default è 22, ma possiamo cambiarla senza problemi se il server SSH è stato configurato con una porta diversa. Ad ogni connessione verrà richiesta la password d'accesso, coincidente con la password dell'account di sistema (o dell'account amministratore).

Se utilizziamo altre versioni di Windows (7 e 8.1) oppure vogliamo ottenere maggior controllo sulla connessione cifrata, vi suggeriamo di installare il programma gratuito e open source PuTTY.
PuTTY

Con questo programma riusciremo a connettersi velocemente a qualsiasi server SSH, basterà inserire il nome utente nel campo Host Name, configurare la porta nel campo Port, apporre il segno di spunta sulla voce SSH e infine fare clic in basso su Open.

Come connettesi ad un server SSH da smartphone o tablet

Se vogliamo controllare il nostro server SSH da smartphone o da tablet, vi raccomandiamo di installare l'app gratuita Termius, disponibile sia per Android che per iOS.
Termius

Con quest'app potremo accedere alla shell protetta di qualsiasi server in maniera rapida e veloce, oltre ad accedere al servizio SFTP, che permette di visualizzare tutte le cartelle del server con i permessi d'amministratore (ottimo per gestire file e cartelle di sistema senza essere fisicamente presenti davanti al server).
Per utilizzare l'app è sufficiente avviarla, indicare le informazioni d'accesso al server come già visto in precedenza e inserire la password quando richiesto; in maniera automatica l'app si connetterà al server e ci offrirà la shell da cui impartire i comandi, con la possibilità di salvare le credenziali per un futuro accesso.

In alternativa possiamo utilizzare su Android le app gratuite JuiceSSH - SSH Client e JuiceSSH Performance Plugin.
JuiceSSH

Con queste due app potremo sia inviare comandi su shell sicura sia controllare le performance del nostro server, grazie al plugin di connessione che mostrerà in tempo reale il consumo da parte di CPU, RAM, rete, disco e il carico medio (davvero molto utile se abbiamo un sito con molte visite o u server con poche capacità).

Conclusioni

Gestire un server SSH e inviare comandi su shell sicura sono sicuramente operazioni da esperti del settore e da amministratori di sistema, ma se desideriamo controllare ogni aspetto del nostro server per il sito Web che stiamo gestendo, SSH è sicuramente uno degli strumenti che dovete imparare ad utilizzare fin da subito.

Se desideriamo imparare nuovi comandi da prompt o per PowerShell, vi invitiamo a leggere la nostra guida ai Trucchi per il prompt dei comandi (CMD). Se invece vogliamo connetterci ad un server FTP, possiamo trovare tutte le informazioni necessarie nella nostra guida su Come connettersi ad un server FTP da PC e smartphone.
Per creare un nuovo server dati da utilizzare come cloud personale e sicuro, possiamo leggere il nostro approfondimento su come Creare un Cloud Server personale sul PC illimitato e gratuito.
reactions

Commenti

table of contents title