2 コミット 872779e636 ... 21437970f1

作者 SHA1 メッセージ 日付
  andrea 21437970f1 Rigenerato il pdf 2 ヶ月 前
  andrea 60a6bfc599 Aggiunta sezione su mosh 2 ヶ月 前
2 ファイル変更141 行追加0 行削除
  1. 141 0
      dispensa/cybersecurity_linux.md
  2. BIN
      dispensa/pdf/cybersecurity_linux.pdf

+ 141 - 0
dispensa/cybersecurity_linux.md

@@ -235,3 +235,144 @@ simile a quello riportato sotto.
 |         | 
 -----------
 ```
+# Secure Shell
+
+Il protocollo SSH (Secure Shell) è un protocollo di rete che fornisce
+una connessione sicura e crittografata tra due sistemi informatici su
+una rete non sicura. OpenSSH è una delle implementazioni più comuni di
+SSH, che offre una serie di strumenti per la gestione delle chiavi
+SSH, l'autenticazione e la sicurezza delle connessioni.
+
+## Comando `ssh`
+
+Il comando `ssh` è utilizzato per stabilire una connessione sicura con
+un server remoto. Ad esempio, per connettersi a un server remoto con
+l'indirizzo IP `192.168.1.100` come utente `utente`, il comando è:
+
+```bash
+ssh utente@192.168.1.100
+```
+
+Questo comando avvia una sessione SSH con il server specificato,
+richiedendo l'autenticazione dell'utente.
+
+## Comando `ssh-keygen`
+
+`ssh-keygen` è uno strumento per generare una coppia di chiavi
+pubbliche/private per l'autenticazione SSH. Per generare una nuova
+chiave SSH, si può eseguire il comando `ssh-keygen` come nell'esempio sotto
+
+```bash
+ssh-keygen -t rsa
+```
+
+Agendo sulle opzioni del comando, si può specificare un percorso per
+salvare la chiave impostare una passphrase per la chiave privata per
+una maggioreq sicurezza.
+
+```bash
+ssh-keygen -t rsa -b 2048 -f ~/.ssh/mykey
+```
+
+Questo comando genera una chiave RSA di 2048 bit e la salva nel file
+`~/.ssh/mykey`. La chiave pubblica corrispondente sarà salvata in
+`~/.ssh/mykey.pub`.
+
+## Comando `ssh-copy-id`
+
+`ssh-copy-id` è uno strumento che copia la chiave pubblica SSH di un
+utente in un server remoto, consentendo l'accesso senza password. Per
+copiare la chiave pubblica `mykey.pub` dell'utente corrente al server
+`192.168.1.100`, il comando è:
+
+```bash
+ssh-copy-id -i ~/.ssh/mykey.pub utente@192.168.1.100
+```
+
+Questo comando copia la chiave pubblica nel file
+`~/.ssh/authorized_keys` dell'utente remoto, consentendo l'accesso
+senza password. Dopo aver copiato la chiave, è possibile testare
+l'accesso senza password con:
+
+```bash
+ssh -i ~/.ssh/mykey utente@192.168.1.100
+```
+
+I nomi di default per le chiavi pubbliche e private sono
+rispettivamente `id_rsa.pub` e `id_rsa`. Utilizzando queste chiavi,
+l'accesso al server senza password si semplifica. Basterà infatti
+eseguire
+
+```bash
+ssh utente@192.168.1.100
+```
+
+## Mobile Shell (mosh)
+
+Mosh, acronimo di Mobile Shell, è un'applicazione di terminale remoto
+che risolve i problemi di connettività tipici di SSH, specialmente su
+reti mobili o instabili. A differenza di SSH, che utilizza TCP e
+richiede una connessione stabile, Mosh utilizza UDP, che è un
+protocollo senza connessione, permettendo una connessione più stabile
+e reattiva anche in presenza di interruzioni temporanee della
+connessione. Mosh mantiene una connessione attiva attraverso
+cambiamenti di indirizzo IP e sospensioni del dispositivo, rendendolo
+ideale per l'uso su dispositivi mobili.
+
+### Come funziona Mosh
+
+Mosh inizia stabilendo una connessione SSH per l'autenticazione,
+utilizzando le stesse credenziali di SSH (ad esempio, password o
+chiavi pubbliche). Successivamente, avvia un server Mosh sul
+dispositivo remoto e stabilisce una connessione UDP per la
+comunicazione. Questo approccio consente a Mosh di gestire meglio la
+perdita di pacchetti e di mantenere una connessione attiva anche in
+presenza di interruzioni temporanee della rete.
+
+### Vantaggi di Mosh rispetto a SSH
+
+- **Robustezza e Responsività**: Mosh è più robusto e reattivo
+  rispetto a SSH, soprattutto su connessioni Wi-Fi, cellulari e lunghe
+  distanze. Questo è dovuto al suo protocollo basato su UDP che
+  gestisce meglio la perdita di pacchetti e imposta il tasso di
+  fotogrammi in base alle condizioni della rete.
+- **Eco Locale Intelligente**: Mosh fornisce un eco locale speculativo
+  delle pressioni dei tasti, permettendo all'utente di vedere le
+  proprie pressioni dei tasti quasi istantaneamente, senza attendere
+  il round trip di rete. Questo migliora l'esperienza utente,
+  specialmente su connessioni ad alta latenza.
+- **Supporto per Roaming**: Mosh supporta il roaming, permettendo
+  all'utente di cambiare la propria posizione fisica senza
+  interrompere la sessione. Questo è particolarmente utile per gli
+  utenti mobili che si spostano tra diversi luoghi.
+
+### Esempi
+
+Per connettersi a un server remoto utilizzando Mosh, il comando è
+simile a quello di SSH, ma utilizzando `mosh` al posto di `ssh`. Ad
+esempio:
+
+```bash
+mosh utente@host
+```
+
+E' possibile utilizzare `mosh` e `tmux` insieme. Ad esempio, con la
+seguente linea di comando è possibile connettersi al server remoto ed
+eseguire tmux.
+
+```bash
+mosh utente@host -- tmux
+```
+
+## Riferimenti
+
+[1] https://www.ssh.com/academy/ssh/copy-id
+[2] https://www.techtarget.com/searchsecurity/tutorial/Use-ssh-keygen-to-create-SSH-key-pairs-and-more
+[3] https://alexhost.com/faq/using-ssh-copy-id-ssh-keygen-commands-in-linux/
+[4] https://www.ssh.com/academy/ssh/keygen
+[5] https://www.digitalocean.com/community/tutorials/ssh-essentials-working-with-ssh-servers-clients-and-keys
+[6] https://docs.oracle.com/en/operating-systems/oracle-linux/openssh/openssh-WorkingwithSSHKeyPairs.html
+[7] https://www.redhat.com/sysadmin/configure-ssh-keygen
+[8] https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
+[9] https://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
+[10] https://mosh.org/

BIN
dispensa/pdf/cybersecurity_linux.pdf