Connessioni Sicure con SSH
Login remoto sicuro e altri servizi su canale insicuro: ssh
, sftp
, scp
- secure shell, secure file transfer, secure copy.
Rimpiazza comandi Unix rlogin, rcp, rsh, ecc.
Fornisce:
- Crittografazione del canale
- Autenticazione forte - basato sull'uso di chiavi doppie (Pubblica / Privata)
- Tunnel per altri protocolli su ssh (X Window)
Contrasta:
- IP spoofing
- DNS spoofing
- Alterazioni di routing
Il server si autentica con chiave pubblica.
E' possibile preinstallare le chiavi pubbliche degli host conosciuti.
Files:
/etc/ssh/known_hosts
- default per tutti gli utenti$HOME/.ssh/known_hosts
- per ciascun utente
Handshake ssh
Il server ha una coppia di chiavi doppie per ogni algoritmo supportato.
Segue l'autenticazione dell'utente (password), che transita già crittografata.
Autenticazione a Chiave
Alternativa sicura all'autebticazione sullo host remoto con password.
Generazione chiavi asimmetriche sul client:
ssh-keygen
- Accettare la locazione di default
~/.ssh/id_rsa
- Dare la passphrase 'segreto' ( 2 volte)
Registrare la chiave allo ssh agent.
Se non è già partito, lanciarlo:
eval $(ssh-agent -s)
ssh-add
Viene chiesta la passhphrase.
Aggiungere l'autorizzazione al server:
ssh-copy-id utente@IP
Viene chiesta la password di utente.
Uscire e provare la connessione: ssh utente@IP
.
Non viene più chiesta la password di utente.
Collegamento Parametrico
Sul client editare il file ~/.ssh/config
:
vim ~/.ssh/config
Host userv
User root
Hostname 10.0.1.12
Port 22
IdentityFile ~/.ssh/id_rsa
Sostituire il proprio nome di login sul server e l'indirizzo del server.
Si possono aggiungere più paragrafi, per più host remoti.
Test:
ssh userv
Ssh Port Forwarding
Tunnel ssh
e Pericoli
Qualunque utente può stabilire un tunnel ssh.
Necessario un server ssh intranet e un utente noto su tale server. N.B.: Molti Linux installano e attivano ssh per default.
- I server ssh non devono avere utenti di comodo (guest)
- I server interni devono essere protetti da firewall personali
- Accettare connessioni solo dal server ssh ufficiale