Collegamento via SSH
Il primo esercizio, necessario per svolgere tutti i seguenti,
è collegarsi in SSH ad un computer a scelta dell'Aula 4.
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),
ci si può collegare tramite il comando
$ ssh utente@labN.cs.dm.unipi.itdove
utente
è il vostro nome utente,
ed N
è un intero fra 1 e 25, e identifica uno fra i 25 computer presenti in
Aula 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.
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.
lab1
a lab25
). Una volta collegati,
utilizzare il comando who
per verificare chi è collegato alla stessa macchina.
Riuscita a trovare i colleghi del vostro gruppo?
Cambio password
La prima operazione da fare dopo il login è cambiare
la password per il primo accesso che ci è stata assegnata.
È possibile farlo digitando il comando passwd
.
Questo chiederà la password attuale, e di ripetere
due volte quella nuova.
Attenzione: la nuova password non
apparirà sullo schermo, per evitare che sia leggibile
da occhi indiscreti. Questo è perfettamente normale. Nel caso si
commettesse un errore di battitura, si può cancellare l'input premendo
un numero sufficiente di volte il tasto Backspace
.
È opportuno scegliere un password sufficiente sicura, ad esempio
contente lettere maiuscole e minuscoli, numeri, e non basata su una
parola di dizionario. Nel caso si cercasse ispirazione, si può generare
alcune password con il comando pwgen N
, dove N
è un intero pari alla lunghezza desiderata. Provare ad esempio con
$N \geq 8$.
Collegarsi ad un'altra macchina
Una volta collegati a labN
per qualche N
intero fra 1 e 25,
ci si può collegare ad un altro computer nella stessa stanza, "incapsulando" due connessioni.
Si può effettuare quest'operazione con il comando:
$ ssh labNQuesta 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 lab10
come utente pippo
, il terminale deve essere
del tipo:
pippo@lab10:~$
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
.
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
.
~/.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_hostsIl 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:
- Su Windows, si può tenere premuto
ALT
e digitare126
sul tastierino numerico. - Su Linux, si può ottenere con la tastiera italiano premendo
ALT Gr + ì
. - Sul Mac, si utilizzi la combinazione di tasti
ALT + 5
.
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.