Logo

Configurazione client e server SSH per accesso senza password

Vai a:
Client  Server

Client

Configura il tuo client SSH in modo tale da poter effettuare l'accesso senza dover inserire la password dell'utente remoto. Necessario in ambienti dove l'accesso tramite password non è consentito.

1. Genera keypair

È necessario creare una coppia di chiavi (keypair). Esegui il seguente comando per creare una coppia di chiavi con crittografia RSA 4096:

   Copia
ssh-keygen -t rsa -b 4096

Verranno richiesti i seguenti parametri:

  • File in cui salvare la chiave:  Mantieni il valore default (esempio: /home/user/.ssh/id_rsa)
  • Password da usare per la chiave:  Inserisci una password sicura. Puoi anche inserire una password vuota (non consigliato).

2. Configura .ssh/config

Il file ~/.ssh/config contiene tutte le configurazioni dei tuoi host, permettendoti di non dover inserire nome utente e indirizzo IP/hostname ogni volta che vuoi accedere ad un host. Modifica questo file con un editor di testo, ed inserisci le seguenti righe:

   Copia
Host server
	User user
	HostName 100.0.10.2

Imposta i parametri in grassetto in questo modo:

  • Host:  Il nome mnemonico che verrà usato ogni volta che vorrai connetterti all'host. In questo caso: ssh server
  • User:  Il nome dell'utente remoto.
  • HostName:  L'indirizzo IP o l'hostname dell'host remoto. È possibile inserire indirizzi IP (100.0.10.2), hostname (myserver), o nomi di dominio (example.com).

3. Copia la chiave all'host

Esegui il seguente comando:

   Copia
ssh-copy-id server

Inserisci la password dell'utente remoto, e non la password della tua chiave. Se tutto è andato a buon fine, eseguendo il comando qui sotto dovresti poter accedere al server:

   Copia
ssh server

Se non riesci ad accedere al server tramite ssh, ma puoi modificare i contenuti sul disco, puoi copiare la tua chiave pubblica sul tuo server, dentro il file ~/.ssh/authorized_keys, con il seguente formato:

   Copia
ssh-rsa AAAA... user@host

Dove:

  • ssh-rsa:  Algoritmo di crittografia della chiave (RSA)
  • AAAAA...:  Chiave pubblica
  • user@host:  Opzionale; Aiuta ad identificare a chi appartiene la chiave

Server

Configura il tuo server affinchè solo le chiavi SSH possano essere utilizzate per l'autenticazione. Disabilita anche il login all'utente root per una sicurezza maggiore.

1. Modifica /etc/ssh/sshd_config

Modifica la configurazione del server ssh, situata in /etc/ssh/sshd_config, e assicurati che queste opzioni siano impostate nel seguente modo:

   Copia
# Disable root login
PermitRootLogin no

# Lower login attempt count
MaxAuthTries 3

# Disable password login
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

2. Riavvia sshd

Esegui il seguente comando:

   Copia
systemctl start sshd # Debian, CentOS, Fedora, RHEL
# OR
service ssh restart # Older Debian & Sysvinit users
# OR
rc-service sshd restart # OpenRC users (Gentoo)

Il server ssh verrà riavviato, e la nuova configurazione verrà applicata.

← Torna alla pagina principale