minor changes

This commit is contained in:
dado
2025-07-02 20:56:08 +02:00
parent f588bf6775
commit 2ef85d1e31

View File

@@ -1,18 +1,18 @@
# SSH
`SSH`, acronimo di *Secure Shell*, è un protocollo di rete dell'application layer che consente l'accesso remoto sicuro a host remoti.
`SSH`, acronimo di *Secure Shell*, è un protocollo dell'Application layer che consente l'accesso remoto sicuro a host remoti.
## Caratteristiche principali
- SSH *utilizza la crittografia* per proteggere le comunicazioni tra il client e il server
- SSH si basa su TCP ed è associato alla well-known port 22
- Si basa su TCP ed è associato alla *well-known port 22*
- Supporta diversi metodi di autenticazione, tra cui:
- Username/password
- Chiave pubblica: un metodo più sicuro che utilizza una coppia di chiavi crittografiche (pubblica e privata) per autenticare l'utente senza la necessità di trasmettere una password
- Chiave pubblica
## Architettura SSH
SSH è un protocollo dell'application layer, ma la sua architettura è strutturata in moduli distinti che operano tra l'Application layer e il Transport layer:
SSH è un protocollo dell'application layer, ma la sua architettura è strutturata in moduli distinti che operano tra l'Application layer e il Transport layer.
### Connection Layer Protocol
@@ -23,7 +23,7 @@ Questo modulo gestisce le sessioni e la comunicazione client/server all'interno
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.
- **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
@@ -33,4 +33,4 @@ Questo modulo è specifico di SSH e non deve essere confuso con il Transport lay
- **Scambio dei messaggi**: viene utilizzata la crittografia simmetrica a chiave singola per lo scambio dei messaggi, in quanto meno onerosa dal punto di vista computazionale
- **Cifratura**: SSH supporta vari algoritmi di cifratura
- **Compressione**: Vengono utilizzati algoritmi di compressione per ottimizzare lo scambio dei dati
- **Integrità dei Pacchetti**: SSH implementa meccanismi per garantire che i pacchetti di dati non vengano alterati durante la trasmissione
- **Integrità dei pacchetti**: SSH implementa meccanismi per garantire che i pacchetti di dati non vengano alterati durante la trasmissione