Le istruzioni in help.ubuntu.com/community/SSH/OpenSSH/Configuring consigliano di disabilitare l'autenticazione della password in modo che "sarà possibile connettersi solo da computer che hai specificamente approvato". Ma non dicono come approvare specificamente un computer. Come faccio?
Risposta accettata:
Su ogni utente a cui vuoi accedere al server, esegui in un terminale:
ssh-keygen
ssh-copy-id <username>@<serverIPorDNSname>
Ti chiederà dove salvarlo, l'impostazione predefinita va bene. Ti chiederà di inserire una passphrase. Questo serve per crittografare la chiave nel caso in cui il computer venga rubato o compromesso. Se non si desidera una passphrase, lasciare vuote entrambe le richieste di passphrase.
Il primo comando crea una chiave ssh per l'utente corrente su cui viene eseguito. Il secondo comando ssh è nel server e aggiunge la chiave dell'utente corrente all'elenco del server di chi è autorizzato ad accedere. Poiché ssh-copy-id utilizza ssh, dovrai farlo prima di disabilitare gli accessi con password.
Le chiavi SSH sono due metà corrispondenti. Una metà viene raccontata a tutti, l'altra viene tenuta segreta. Utilizzando un algoritmo matematico, la metà pubblica può essere utilizzata per decrittografare i dati crittografati con la chiave privata. Se i dati vengono decodificati correttamente con la chiave pubblica, sai senza ombra di dubbio che è stata la metà privata della chiave a crittografarli. Quindi, quando accedi con una chiave ssh, il client invia un messaggio (crittografato utilizzando la chiave privata) che in pratica dice "fammi entrare". Il server verifica utilizzando la chiave pubblica e se la chiave pubblica è nell'elenco dei computer consentiti l'accesso è riuscito.
ssh-copy-id sta (usando ssh) copiando la metà pubblica nell'elenco dei server di quali chiavi possono accedere (questo elenco è archiviato in /home/cat /media/USB/stick/path/to/id_rsa.pub >>/home/<username>/.ssh/authorized_keys2
sul server.)