HPC - Programmazione Parallela e HPC presso l'Università degli Studi di Parma (6 CFU).
Connettersi tramite VPN ed eseguire
ssh nome.cognome@login.hpc.unipr.it
Assicurarsi di aver installato OpenSSH sul proprio pc.
-
Come prima cosa bisogna generare la propria coppia di chiavi nel cluster. Dopo aver effettuato l'accesso tramite password, eseguire i comandi:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
-
In caso fosse necessario, ripetere lo step precedente nel proprio host (
ls ~/.ssh/
per verificare l'esistenza della coppia di chiavi, ad es.id_rsa
eid_rsa.pub
). -
A questo punto bisogna rendere consapevole l'hpc che può dialogare in maniera sicura con il nostro host, aggiungendo la chiave pubblica dell'host al file
~/.ssh/authorized_keys
nella propria home sul cluster. È possibile farlo in automatico con il comandossh-copy-id nome.cognome@login.hpc.unipr.it
In alternativa, basta copiare manualmente il contenuto di
~/.ssh/id_rsa.pub
in fondo al file~/.ssh/authorized_keys
sul cluster.
Nel caso in cui si utilizzi una passphrase a protezione della propria chiave privata, ad ogni tentativo di accesso ssh questa verrà richiesta; è utile in questo caso utilizzare un ssh-agent
, un programma che mantiene in memoria la chiave privata decrittata (tramite l'inserimento della passphrase) e la fornisce ai servizi che la richiedono.
Per la configurazione si rimanda a questa guida.
È conveniente abilitare l'agente subito dopo il login. La suite openssh
fornisce un ssh-agent.service
che permette di far partire il servizio come systemd user unit:
systemctl --user enable ssh-agent.service
systemctl --user start ssh-agent.service
# esporta la variabile d'ambiente nella shell bash
cat <<EOF >>~/.bashrc
# ssh-agent
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
EOF
# aggiunge la chiave privata
ssh-add ~/.ssh/id_rsa
In questo modo, una volta inserita la passphrase alla prima connessione, l'agente conserverà fino al prossimo riavvio del pc la chiave privata decrittata (salvo differenti specifiche).
Ecco un semplice elenco di linee guida da seguire per partecipare alla stesura degli appunti e per mantenere il codice il più ordinato e leggibile possibile.
- Per visualizzare bene gli appunti utilizzeremo Obsidian: software che permette di prendere appunti che opera su file Markdown
.md
. La preview che si vede su Github può risultare incompleta o non leggibile. - Plugin utilizzati su Obsidian:
- Effettuare un
git fork
della repository in questione, nella quale poi si andranno a modificare / aggiungere appunti - Effettuare sempre un
git fetch
e successivamente ungit merge
prima di qualsiasigit push
e/ogit commit
- Non utilizzare caratteri in stampato e caratteri speciali nel nome dei file
- Utilizzare il carattere
_
al posto degli "spazi" nel nome dei file - Utilizzare sempre la numerazione dei file nel nome (i numeri indicano l'ordine degli argomenti trattati a lezione)
- Nel file
.md
inserire sempre un indice dinamico (utilizzando il plugin) e un "ritorna all'indice" alla fine di ogni paragrafo / argomento - Nel titolo dei
commit
e dellapull request
, oltre ad inserire il tema trattato, aggiungere anche il proprio username. Ad esempio il titolo di questapull request
sarà:@{tuo_username}: Aggiornamento wiki
Il primo argomento trattato a lezione è stato quello del significato di "Hello, world!".
Il nome file sarà: 01-helloworld.md
.
Il titolo del commit sarà: "@{tuo_username}: Aggiunti appunti lezione 01-helloworld"
.
Il titolo della pull request sarà: "@{tuo_username}: Appunti lezione 26-02-2023"
.