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.itdove
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.
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.
- normalmente su una macchina Linux
è 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
, doveN
è un intero pari alla lunghezza desiderata. Provare ad esempio con $N \geq 8$. -
Per cambiare la password delle credenziali di ateneo, occorre invece farlo esclusivamente
sull'apposito sito di ateneo.
Tra l'altro questa operazione di cambio password serve anche a fare propagare la nuova password ai vari sottosistemi - per esempio eduroam. Prima del cambio di password questi sottosistemi non funzionano.
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 mathsgaloreNQuesta 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
.
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.