Compare commits
No commits in common. "21437970f1ee910385342079a139703b64d785ac" and "872779e636655148ef568c2acc0bb8493958073c" have entirely different histories.
21437970f1
...
872779e636
2 changed files with 0 additions and 141 deletions
|
@ -235,144 +235,3 @@ 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/
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue