Unnikked - Esperienze personali in campo informatico

Come connettersi al proprio VPS tramite SSH

Nell’ articolo introduttivo abbiamo visto a cosa serve un VPS e come ottenerlo, se siete riusciti ad ottenere un account di prova oppure avete acquistato un pacchetto dai vari siti elencati è ora giunto il momento di connettersi al server. Ma come facciamo a connetterci se il computer è lontano da noi? A questo “problema” ci viene incontro il protocollo SSH.

SSH è un moderno protocollo di rete che permette di stabilire una sessione remota cifrata tramite interfaccia a riga di comando con un altro host di una rete informatica, questo protocollo va a sostituire i vecchi telnet, rlogin e l’ancora usato ftp.

Nella maggior parte delle distribuzioni è presente un pacchetto chiamato OpenSSH che racchiude in se tutti gli strumenti necessari per fa comunicare due computer tramite una connessione internet.

Per connettersi ad un server remoto basta digitare da terminale :

ssh nomeutente@indirizzoipdellamacchina

dove nomeutente è il nome dell’account su cui autenticarsi (di solito è root ma è sconsigliato usarlo come profilo principale) e indirizzoipdellamacchina è l’ip della macchina oppure può essere anche un nome dominio del tipo example.com. Una volta lanciato il comando dopo pochi secondi ci verrà chiesto la password.
Queste informazioni di solito vengono comunicate tramite email oppure basti andare sul pannello di controllo del fornitore del servizio e trovare nell’apposita sezione i dati necessari.

Una volta autenticati è come se fossimo a tutti gli effetti seduti davanti al computer, per cui possiamo avviare programmi e usare i comandi tipici della shell linux.

In questo pacchetto ci sono anche altri comandi da utilizzare che ci facilitano alcuni compiti.

Copiare file tra host

Il comando scp permette di copiare un file da un host locale a uno remoto con questa sintassi:

scp percorsoFileLocale nomeUtenteRemoto@indirizzoIP:PercorsoDestinazioneRemota

Dove percorsoFileLocale è il percorso del file locale che si vuole copiare sulla macchina remota, nomeUtenteRemoto è il nome dell’utente con cui autenticarsi, indirizzoIP come sopra e PercorsoDestinazioneRemota è il percorso di destinazione in cui si vuole copiare il file.

Una volta lanciato il comando vi sarà chiesto di inserire la password di nomeUtenteRemoto e comparirà una barra di avanzamento che ci indica la percentuale e il tempo rimanente al trasferimento del file.

Per il viceversa, cioè trasferire un file remoto su un computer locale, bisogna usare il comando nel seguente modo:

scp nomeUtenteRemoto@indirizzoIP:PercorsoFileRemoto PercorsoDestinazioneLocale
Attenzione
Il comando scp non può essere usato per trasferire file tra computer remoti, ma solo tra un computer locale ed uno remoto.

Eseguire un comando su un computer remoto

Per eseguire un singolo comando su un computer remoto, usare il comando ssh secondo il seguente modello:

ssh nomeutente@indirizzoIP

Usare un programma grafico sul computer remoto

È possibile avviare un’applicazione grafica sul computer remoto e visualizzarla sul computer locale, grazie a una tecnica chiamata** X11 Forwarding. Gli unici requisiti del computer locale sono una connessione abbastanza veloce con il computer remoto e l’installazione di base del server **X11, mentre non ci sono requisiti particolari per il computer remoto. Potrebbe inoltre essere necessaria l’installazione del pacchetto xauth sul computer locale.

Prima di tutto è necessario autorizzare il server grafico del computer remoto (con server ssh attivo) ad accettare connessioni in entrata dal computer locale, quindi sul computer remoto aprire una finestra di terminale e digitare:

xhost +
Attenzione
Se l’esecuzione di questo comando dovesse fallire sarà necessario installare il pacchetto xauth.

Successivamente per collegarsi al computer remoto digitare:

ssh -X utenteremoto@computerremoto

Per chi volesse approfondire di più l’argomento consiglio questa guida della wiki di Ubuntu.