Collegamento via SSH

Il primo esercizio, necessario per svolgere tutti i seguenti, è collegarsi in SSH ad un compute remoto; useremo per questo esercizio le 4 macchine virtuali mathsgalore.unipi.it, mathsgalore2.unipi.it, mathsgalore3.unipi.it, mathsgalore4.unipi.iti , che usano le credenziali di ateneo.
Avendo a disposizione un client SSH (ad esempio, il comando ssh su GNU/Linux, sul MAC, oppure Putty su Windows — qui trovate un breve video su come installarlo) - nota che alcuni Windows recenti hanno un terminale con ssh già installati -, ci si può collegare tramite il comando

$ ssh utente@mathsgaloreN.unipi.it
dove utente è il vostro nome utene (credenziali di ateneo) ed N può non esserci o essere 2, 3 o 4. (e l'analoga procedura con Putty).

Nel caso non si abbia a disposizione un client SSH, è possibile utilizzare uno dei seguenti link per collegarsi direttamente dal browser. Sebbene questi funzionino, l'esperienza non è proprio ottimale, il collegamento con un software nativo è sicuramente preferibile. E' preferibile usare una finestra in incognito nel Browser !

Al primo collegamento, il client SSH ed il server si scambiano le relative chiavi pubbliche, con una (variante della) procedura nota come Scambio di chiavi Diffie-Hellman. Utilizzando il client web, questo passaggio verrà "nascosto", ed accettato in modo automatico (ed insicuro!). Utilizzando invece il client dal proprio computer verrà chiesto di accettare la chiave pubblica del server, mostrando il suo fingerprint.

Si utilizzino i comandi riportati sopra (o l'interfaccia web) per collegarsi ad una delle macchine virtuali . Una volta collegati, utilizzare il comando who per verificare chi è collegato alla stessa macchina. Riuscita a trovare i colleghi del vostro gruppo?

Cambio password

Quando si riceve un account, la prima operazione da fare dopo il login è cambiare la password per il primo accesso che ci è stata assegnata.

Collegarsi ad un'altra macchina

Una volta collegati a uno dei computer mathsgalore o mathsgalore2 o mathsgalore3 o mathsgalore4 ci si può collegare ad un alta, "incapsulando" due connessioni. Si può effettuare quest'operazione con il comando:

$ ssh mathsgaloreN
Questa volta non è necessario specificare il nome utente scelto, perché ssh utilizza quello dell'utente corrente se non gli si indica altrimenti. Ancora una volta, se non ci si è mai collegati ad una determinata macchina, verrà chiesto di accettare la chiave pubblica mostrando il relativo fingerprint. Una volta aperto il collegamento, si può terminarlo con il comando logout.

Una volta aperta la connessione ad un'altra macchina, si verifichi il successo del collegamento guardando al prompt del terminale. Ad esempio, se si è collegati alla macchine mathsgalore come utente pippo, il terminale deve essere del tipo:

pippo@mathsgalore:~$

Il salvataggio della chiave pubblica

Tradizionalmente, nei sistemi Unix (a cui Linux è ispirato), si può interagire con il sistema attraverso file di testo. In effetti, anche la chiave pubblica che avete appena accettato è stata salvata in un file, che si trova nella vostra home, all'interno delle cartella .ssh.

Si utilizzi il comando ls per visualizzare i file nella cartella corrente (se non è stato dato alcun comando, la vostra home).

Noterete immediatamente che la cartella .ssh non viene listata dal comando ls. Questo succede perché tutti i file (e le cartelle) che cominciano con un punto vengono considerati file nascosti; per visualizzarli, è necessario utilizzare il comando ls -a.

Si stampi sul terminale il contenuto del file ~/.ssh/known_hosts, che contiene la lista di tutti i fingerprint degli host a cui ci si è collegati. Questo si può ottenere tramite il comando:
cat ~/.ssh/known_hosts
Il comando cat permette di stampare un file di testo sul terminale. Per digitare il carattere ~, che rappresenta la propria home directory, è possibile utilizzare varie combinazioni di tasti:

Memorizzare la chiave pubblica permette di garantire che, alla prossima connessione, l'host contattato sarà esattamente quello che dice di essere. In questo modo, si evitano i cosiddetti attacchi MITM (Man In The Middle), dove qualcuno si sostituisce a chi volete contattare, e ascolta o modifica il traffico.