Connessione a server didattica per SysopLab : -------------------------------------- ssh matteo@esami-re.esami.di.unimi.it username: matteo pwd: m4tt30pwd3x4m password root: r3xExamRpwd account ssh 16 Gb RAM 16 Core 200 Giga Disco ------------------------------------- 13/01/2021 Installato (insieme a Mattia) su server esami: - update versione debian a corrente - docker - creato immagine docker per lanciare docker SUL SERVER: 0) andare in root : cd esami-virtuali i) tmux ii) docker run --rm -p 443:22 esami-virt NBB!!!!!!!!! Per permettere uso di ptrace a utenti non-root (gdb e/o strace) : !!!!!!!!!!!!!!! NBB: docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --rm -p 1194:22 esami-virt Origin: https://stackoverflow.com/questions/19215177/how-to-solve-ptrace-operation-not-permitted-when-trying-to-attach-gdb-to-a-pro iii) per avere nuovo terminale tmux: CTRL+B (pausa) c Ogni terminale ha un numero. Per tornare ad un certo terminale CTRL+B (pausa) x dove x e' numero (tra 0 e 9) iv) per avere lista utenti registrati e password: cat user.lst v) dall'esterno (per gli studenti) per collegarsi: ssh -p 1194 stud01@esami-re.esami.di.unimi.it -------------------------------------- Procedura ESAME: -------------------------------------- i) Connettersi dall'esterno: NB -> PER STEP 1 (FILE SYSTEM) ssh matteo@esami-re.esami.di.unimi.it username: matteo pwd: m4tt30pwd3x4m NB -> PER STEP 2 (SHELL) ssh matteo@esami-re2.esami.di.unimi.it username: matteo pwd: m4tt30pwd3x4m ii) Lanciare docker (immagine esami-virt) cd esami-virtuali tmux PER SESSIONE 10 FEBBRAIO 2021: docker run --rm -p 443:22 esami-virt PER SESSIONE 24 FEBBRAIO 2021 E SUCCESIVE (abilitazione uso strace): docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --rm -p 443:22 esami-virt iii) Creare nuove finestre tmux (una per ogni studente che si vuole far connettere) e, all'interno di esse, fare login come studente: CTRL+B (pausa) c (per avere nuovo terminale tmux) NB: crearne6 ssh -p 1194 stud01@localhost (per connettersi come stud01) NB: Numero di slot richiesti: 6 iv) Passare da una finestra all'altra in tmux (in ognuna e' possibile osservare cosa stanno facendo gli studenti) CTRL+B (pausa) x (dove x e' il numero del terminale) v) dire agli studenti di connettersi: (dall'esterno) dire di fare login via SSH CLIENT (non tmux!!!) ssh -p 443 stud01@esami-re.esami.di.unimi.it ------------------------------------------------------------------------------ NBB: iii e iv no ... (non si usa login da localhost sul server docker...) vi) CONNETTERSI DALL'ESTERNO CON LA STESSA COPPIA NOMEUTENTE/PASSWORD DATA AGLI STUDENTI ( dopo di loro ...) NB: NON SCRIVERE COMANDO exit (altrimenti mi sconnetto io ma anche gli studenti!!!!!!!) per avere piu' finestre aperte (e osservare piu' studenti) utilizzare terminator -------------------------------------- (user.lst) stud01:GhefHofGod stud02:CortInEm stud03:dashtyap~ stud04:NebJokHav7 stud05:rivHawgAc7 stud06:Vum-froo stud07:clyewdan stud08:ivnofwedye stud09:JoddIftIt stud10:OwEgIkye stud11:wovRihuct2 stud12:Ruttyewyoc stud13:krorIanmy stud14:yeWockCen stud15:fotjoosFa stud16:ugugidkej8 stud17:nitwygyuv7 stud18:OiWeishmyn stud19:UbKeatDoud stud20:prophyint --------------------------------------- COMANDI UTILI: 1) docker ps -a Restituisce lista di tutte le immagini in esecuzione. Tra le info il nome (che puo' essere usato per terminare esecuzione immagine). matteo@esami-re:~/esami-virtuali$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e20d9e619db9 esami-virt "/usr/sbin/sshd -D -e" 16 minutes ago Up 16 minutes 0.0.0.0:1194->22/tcp happy_elbakyan 2) docker top happy_elbakyan Mostra tutti i processi attivi su un container (dato il nickname). matteo@esami-re:~/esami-virtuali$ docker top happy_elbakyan UID PID PPID C STIME TTY TIME CMD root 22630 22613 0 14:52 ? 00:00:00 /usr/sbin/sshd -D -e root 22989 22630 0 15:03 ? 00:00:00 sshd: stud01 [priv] matteo 22995 22989 0 15:03 ? 00:00:00 sshd: stud01@pts/0 matteo 22996 22995 0 15:03 pts/0 00:00:00 tmux new-session -A -s esame matteo 23000 22630 0 15:03 ? 00:00:00 tmux new-session -A -s esame matteo 23001 23000 0 15:03 pts/1 00:00:00 -bash root 23043 22630 0 15:04 ? 00:00:00 sshd: stud08 [priv] 1007 23050 23043 0 15:04 ? 00:00:00 sshd: stud08@pts/2 1007 23051 23050 0 15:04 pts/2 00:00:00 tmux new-session -A -s esame 1007 23055 22630 0 15:04 ? 00:00:00 tmux new-session -A -s esame 1007 23056 23055 0 15:04 pts/3 00:00:00 -bash 3) docker kill happy_elbakyan termina esecuzione immagine di nome 'happy_elbakyan'