Questa guida spiega come disabilitare l'autenticazione tramite password SSH per utenti o gruppi specifici nei sistemi operativi Linux e Unix.
Tieni presente che non disabiliteremo completamente l'accesso SSH agli utenti o a un gruppo. Disabiliteremo invece solo l'autenticazione della password SSH.
Gli utenti possono comunque accedere ai sistemi tramite SSH utilizzando altri metodi di autenticazione, ad esempio l'autenticazione basata su chiave SSH.
Disabilita l'autenticazione tramite password SSH per utenti o gruppi specifici
Possiamo consentire o negare l'accesso SSH agli utenti e/o a un intero gruppo utilizzando "/etc/ssh/sshd_config" file in Linux. Il file sshd_config ha un parametro chiamato "Match" che ti aiuterà a disabilitare l'autenticazione della password SSH per utenti o gruppi.
Vediamo prima come disabilitare l'autenticazione della password per un utente specifico.
Modifica il file "/etc/ssh/sshd_config" usando il tuo editor preferito come utente root o sudo:
$ sudo nano /etc/ssh/sshd_config
Innanzitutto, rimuovi il metodo di autenticazione predefinito commentando la riga seguente:
#PasswordAuthentication yes
Quindi, aggiungi le seguenti righe alla fine:
[...] Match User senthil PasswordAuthentication no
Disabilita l'autenticazione con password SSH per utenti specifici
Tieni presente che la corrispondenza è efficace "fino a un'altra riga di corrispondenza o alla fine del file". Se una parola chiave compare in più blocchi di corrispondenza soddisfatti, viene applicata solo la prima istanza della parola chiave.
Come nell'esempio sopra, abbiamo disabilitato l'autenticazione della password SSH per l'utente chiamato "senthil". Sostituisci "senthil" con il tuo nome utente. Salva e chiudi il file. Riavvia il servizio ssh per rendere effettive le modifiche:
$ sudo systemctl restart ssh
Ora prova ad accedere come utente "senthil" tramite SSH:
$ ssh [email protected]
Verrà visualizzato il seguente messaggio di errore:
[email protected]: Permission denied (publickey).
Disabilita l'autenticazione con password SSH per utenti specifici in Linux
Disabilita l'autenticazione della password SSH per un gruppo
Per disabilitare l'autenticazione tramite password SSH per un gruppo specifico, è sufficiente sostituire il nome utente con il nome del gruppo nel file sshd_config.
Match Group mygroup PasswordAuthentication no
Sostituisci "miogruppo" nella configurazione precedente con il nome del tuo gruppo.
Non dimenticare di riavviare il servizio ssh per applicare le modifiche.
Disabilita l'autenticazione della password SSH per più utenti
Puoi negare l'autenticazione della password SSH per più utenti menzionando i nomi utente separati da virgole come di seguito:
Match User senthil,kumar PasswordAuthentication no
La configurazione di esempio precedente impedirà l'autenticazione della password SSH per gli utenti "senthil" e "kumar".
Disabilita l'autenticazione della password SSH per tutti gli utenti tranne l'utente root
In alcuni sistemi Linux, potresti voler consentire l'autenticazione della password SSH solo per l'utente "root" e disabilitarla per tutti gli altri utenti. In tal caso, aggiungi la seguente riga nel file sshd_config alla fine:
Match User !root PasswordAuthentication no
Limita l'autenticazione della password SSH per host o indirizzo IP
Non solo utente o gruppo, possiamo negare l'autenticazione della password SSH anche tramite host o indirizzo IP.
Ad esempio, l'esempio seguente impedirà l'accesso SSH da un host che contiene l'indirizzo IP:
Match Address 192.168.225.37 PasswordAuthentication no
Per limitare l'autenticazione della password SSH per un intervallo specifico di indirizzi IP, aggiungi questo:
Match Address 192.168.225.* PasswordAuthentication no
E questo esempio negherà l'accesso SSH utilizzando la password da un host che contiene il nome host:
Match Address hostname PasswordAuthentication no
Per maggiori dettagli, fare riferimento alle pagine man.
$ man sshd_config
Conclusione
In questa guida, abbiamo discusso su come disabilitare l'autenticazione della password SSH per utenti o gruppi specifici in Linux. Abbiamo ulteriormente esaminato come disabilitare l'accesso con password SSH per più utenti e come limitare l'accesso con password SSH a tutti gli utenti tranne che per l'utente root. Infine, abbiamo imparato come limitare l'autenticazione della password SSH in base all'host o all'indirizzo IP.
Altre guide relative a SSH:
- Come configurare l'autenticazione basata su chiave SSH in Linux
- Consenti o nega l'accesso SSH a un particolare utente o gruppo in Linux
- Limita il numero di accessi SSH per utente/gruppo/sistema
- Limita l'accesso ai server Linux utilizzando i wrapper TCP
- Esegui comandi su sistemi Linux remoti tramite SSH
- Come creare alias SSH in Linux
- Come inserire SSH in una directory particolare su Linux
- SSLH:condividi una stessa porta per HTTPS e SSH
- ScanSSH:server SSH veloce e scanner proxy aperto
- Come riprendere i file trasferiti parzialmente su SSH utilizzando Rsync
- Come eseguire un comando singolo su più sistemi remoti contemporaneamente
- DSH:esegui un comando Linux su più host alla volta
- Come impedire la disconnessione della sessione SSH in Linux
- Come abilitare SSH su FreeBSD
Spero che questo aiuti.