creazione e gestione di chiavi SSH
This commit is contained in:
@@ -20,10 +20,10 @@ Questo modulo gestisce le sessioni e la comunicazione client/server all'interno
|
||||
|
||||
### User Authentication Protocol
|
||||
|
||||
Questo modulo si occupa dell'autenticazione degli utenti, implementando diversi metodi:
|
||||
Questo modulo si occupa dell'**autenticazione degli utenti**, implementando diversi metodi:
|
||||
|
||||
- **Username/password**
|
||||
- **Chiave pubblica**: lato client, viene sempre utilizzata la crittografia asimmetrica. Il client genera una coppia di chiavi (pubblica e privata) e memorizza la chiave pubblica nel file `.ssh/authorized_keys` del server. Durante il processo di autenticazione, il server crea un messaggio randomico, cifrato con la chiave pubblica del client, e lo invia a quest'ultimo. Solo il client, utilizzando la sua chiave privata, putrá decifrare il messaggio. Se il messaggio decifrato corrisponde a quello inviato, il server può confermare l'identità del client, a meno che la chiave privata non sia stata compromessa
|
||||
- Autenticazione classica con **username/password**
|
||||
- Autenticazione tramite **chiave pubblica**: lato client, viene sempre utilizzata la crittografia asimmetrica. Il client genera una coppia di chiavi (pubblica e privata) e memorizza la chiave pubblica nel file `.ssh/authorized_keys` del server. Durante il processo di autenticazione, il server crea un messaggio randomico, cifrato con la chiave pubblica del client, e lo invia a quest'ultimo. Solo il client, utilizzando la sua chiave privata, putrá decifrare il messaggio. Se il messaggio decifrato corrisponde a quello inviato, il server può confermare l'identità del client, a meno che la chiave privata non sia stata compromessa
|
||||
|
||||
### Transport Layer Protocol
|
||||
|
||||
@@ -50,3 +50,27 @@ systemctl status ssh.service # Verifica lo stato del servizio SSH
|
||||
systemctl start ssh.service # Avvia il servizio SSH
|
||||
systemctl stop ssh.service # Ferma il servizio SSH
|
||||
```
|
||||
|
||||
## Creazione e gestione di chiavi SSH
|
||||
|
||||
Le chiavi generate lato server e utilizzate nel processo di validazione dell'identità si trovano nella directory `/etc/ssh` del server. In particolare:
|
||||
|
||||
```bash
|
||||
> ll /etc/ssh/
|
||||
Permissions Size User Group Date Modified Name
|
||||
.rw------- 505 root root 4 Jan 15:46 ssh_host_ecdsa_key
|
||||
.rw-r--r-- 173 root root 4 Jan 15:46 ssh_host_ecdsa_key.pub
|
||||
.rw------- 399 root root 4 Jan 15:46 ssh_host_ed25519_key
|
||||
.rw-r--r-- 93 root root 4 Jan 15:46 ssh_host_ed25519_key.pub
|
||||
.rw------- 2.6k root root 4 Jan 15:46 ssh_host_rsa_key
|
||||
.rw-r--r-- 565 root root 4 Jan 15:46 ssh_host_rsa_key.pub
|
||||
```
|
||||
|
||||
Quando un client si connette per la prima volta a un server tramite SSH, poiché non ha ancora chiavi associate a questo target nel file `known_hosts`, situato nella directory `~/.ssh`, viene richiesto di accettare e memorizzare il fingerprint, che corrisponde alle chiavi pubbliche del server.
|
||||
|
||||
Per ulteriori informazioni sulla creazione e gestione delle chiavi lato client, riferirsi all'articolo [Creazione e gestione di chiavi SSH](https://www.novemila.org/posts/2024-07-06-ssh/).
|
||||
|
||||
I permessi consigliati per garantire la sicurezza delle chiavi SSH e delle configurazioni associate sono i seguenti:
|
||||
|
||||
- `.ssh`: 700
|
||||
- `authorized_keys`: 600
|
||||
|
Reference in New Issue
Block a user