GNU/Linux >> Linux Esercitazione >  >> Linux

CentOS / RHEL:come disabilitare ssh per utenti non root (consentendo ssh solo per utente root)

Per impostazione predefinita, tutti gli utenti possono accedere a un sistema tramite SSH con una password/chiave pubblica valida. Per alcuni Server dedicati con ruoli specifici, come Server FTP, Server di Posta, ecc.; In genere si consiglia di disabilitare gli utenti non root per accedere tramite SSH. Il post descrive in dettaglio i passaggi per disabilitare l'accesso ssh login dell'utente non root ai sistemi. Ci sono 3 modi diversi discussi qui. Uno dei tre modi seguenti potrebbe raggiungere lo scopo.

Metodo 1:utilizzo del file /etc/ssh/sshd_config

Questo metodo può essere utilizzato per consentire ad alcuni utenti di accedere tramite SSH. Modifica il file /etc/ssh/sshd_config (File di configurazione del demone SSH OpenSSH) e aggiungi la parola chiave AllowUsers con argomento radice .

# vi /etc/ssh/sshd_config
AllowUsers root
Nota :le parole chiave non fanno distinzione tra maiuscole e minuscole e anche gli argomenti fanno distinzione tra maiuscole e minuscole.

Ora riavvia il servizio sshd:

# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

Verifica che gli utenti non root non siano in grado di accedere tramite SSH ma l'utente root può farlo.

# ssh test@host1
test@host1's password: 
Permission denied, please try again.
test@host1's password: 
Permission denied, please try again.
test@host1's password: 
Permission denied (publickey,gssapi-with-mic,password).
# ssh root@host1
root@host1's password: 
Last login: Wed Sep 13 10:47:14 2017 from 10.10.10.10
[root@host1 ~]#

Metodo 2:utilizzo del file /etc/nologin

Questo è il modo più rapido per bloccare tutti gli utenti non root dall'accesso SSH.

1. Crea un file /etc/nologin sull'host remoto.

# touch /etc/nologin
# ls -lrt /etc/nologin
-rw-r--r-- 1 root root 0 Sep 13 13:23 /etc/nologin
Nota :se questo file esiste, solo l'utente root può accedere al sistema tramite SSH. Se il file /etc/nologin.txt esiste, nologin mostra il suo contenuto all'utente invece del messaggio predefinito.

Assicurati che la riga seguente sia nel file /etc/pam.d/sshd :

account    required     pam_nologin.so
Note: backup the file /etc/pam.d/sshd before modifying it.

Quindi riavvia il servizio sshd:

# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

Verifica l'accesso SSH dell'utente non root:

# ssh test@host1
test@host1's password: 
Connection closed by 192.168.10.10

Metodo 3:utilizzo del file /etc/sshd/sshd.allow

Il file /etc/sshd/sshd.allow viene utilizzato per specificare l'elenco di utenti a cui vogliamo concedere l'accesso ssh. Se menzioniamo semplicemente l'utente root in questo file, a tutti gli altri utenti verrà negato l'accesso ssh all'host.

1. Aggiungi l'utente root al file /etc/sshd/sshd.allow (se la directory/il file non esiste, crearlo manualmente).

# cat /etc/sshd/sshd.allow 
root

2. Sostituisci la riga di autenticazione come di seguito nel file /etc/pam.d/sshd :

auth required pam_listfile.so item=user sense=allow file=/etc/sshd/sshd.allow onerr=fail

Qui,
auth richiesto pam_listfile.so :Nome del modulo richiesto durante l'autenticazione degli utenti.
item=user :controlla il nome utente dell'elemento.
sense=allow :Consenti utente.
file=/etc/sshd/sshd.allow :File elenco utenti.
onerr=fail :Se il nome utente non è nel file, non consentirà il login.

3. Riavvia il servizio sshd una volta che hai finito con tutte le modifiche precedenti.

# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

4. Verifica l'accesso SSH dell'utente non root:

# ssh test@host1
test@host1's password: 
Permission denied, please try again.
test@host1's password: 
Permission denied, please try again.
test@host1's password: 
Permission denied (publickey,gssapi-with-mic,password).

Verifica anche se puoi eseguire ssh con l'utente root:

# ssh root@host1
ssh root@host1's password: 
Last login: Wed Sep 13 14:53:47 2017 from 10.10.10.10
[root@host1 ~]#


Linux
  1. CentOS / RHEL 7:come disabilitare IPv6 solo su un'interfaccia specifica

  2. Come eseguire rsyslog come utente non root in CentOS/RHEL 7

  3. SSH senza password non funziona per utenti locali su server LDAP – CentOS/RHEL 7

  4. CentOS / RHEL:come ridurre il file system radice LVM

  5. CentOS / RHEL 6:come disabilitare / abilitare l'accesso root diretto tramite telnet

Come creare un utente SFTP per una radice del documento del server Web

Come disabilitare l'accesso SSH root su CentOS 7

Come configurare SSH su CentOS e RHEL

Come limitare l'utente root in CentOS

Come disabilitare l'accesso SSH per l'utente root in Linux?

Come disabilitare l'elenco utenti nella schermata di accesso di GNOME in CentOS/RHEL 8