GNU/Linux >> Znalost Linux >  >> Linux

CentOS / RHEL :Jak zakázat ssh pro uživatele bez oprávnění root (povolení ssh pouze pro uživatele root)

Ve výchozím nastavení mohou všichni uživatelé SSH do systému s platným heslem/veřejným klíčem. Pro určité vyhrazené servery se specifickými rolemi, jako je FTP server, e-mailový server atd.; obvykle se doporučuje zakázat přihlášení přes SSH uživatelům bez oprávnění root. Příspěvek podrobně popisuje kroky, jak zakázat přístup k systémům přihlášení ssh uživatele bez oprávnění root. Zde jsou diskutovány 3 různé způsoby. Každý ze tří níže uvedených způsobů může dosáhnout účelu.

Metoda 1 – pomocí souboru /etc/ssh/sshd_config

Tuto metodu lze použít k tomu, aby se několik uživatelů mohlo přihlásit pomocí SSH. Upravte soubor /etc/ssh/sshd_config (Konfigurační soubor démona OpenSSH SSH) a přidejte klíčové slovo AllowUsers s argumentem root .

# vi /etc/ssh/sshd_config
AllowUsers root
Poznámka :klíčová slova nerozlišují malá a velká písmena a také argumenty nerozlišují malá a velká písmena.

Nyní restartujte službu sshd:

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

Ověřte, že uživatelé bez oprávnění root se nemohou přihlásit přes SSH, ale uživatel root ano.

# 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 ~]#

Metoda 2 – pomocí souboru /etc/nologin

Toto je nejrychlejší způsob, jak zablokovat přihlášení SSH všem uživatelům bez oprávnění root.

1. Vytvořte soubor /etc/nologin na vzdáleném hostiteli.

# touch /etc/nologin
# ls -lrt /etc/nologin
-rw-r--r-- 1 root root 0 Sep 13 13:23 /etc/nologin
Poznámka :Pokud tento soubor existuje, pouze uživatel root se může přihlásit do systému přes SSH. Pokud je soubor /etc/nologin.txt existuje, nologin zobrazí uživateli jeho obsah místo výchozí zprávy.

Ujistěte se, že níže uvedený řádek je v souboru /etc/pam.d/sshd :

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

Poté restartujte službu sshd:

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

Ověřte přihlašovací SSH uživatele jiného než root:

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

Metoda 3 – pomocí souboru /etc/sshd/sshd.allow

Soubor /etc/sshd/sshd.allow se používá k zadání seznamu uživatelů, kterým chceme udělit ssh přístup. Pokud v tomto souboru zmíníme pouze root uživatele, bude všem ostatním uživatelům odepřen přístup ssh k hostiteli.

1. Přidejte uživatele root do souboru /etc/sshd/sshd.allow (pokud adresář/soubor neexistuje, vytvořte jej ručně).

# cat /etc/sshd/sshd.allow 
root

2. Nahraďte auth line, jak je uvedeno níže v souboru /etc/pam.d/sshd :

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

Zde
požadováno ověření pam_listfile.so :Název modulu vyžadovaného při ověřování uživatelů.
item=user :Zkontrolujte uživatelské jméno položky.
sense=allow :Povolit uživatele.
file=/etc/sshd/sshd.allow :Soubor seznamu uživatelů.
onerr=fail :Pokud uživatelské jméno není v souboru, neumožní přihlášení.

3. Jakmile provedete všechny výše uvedené změny, restartujte službu sshd.

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

4. Ověřte přihlašovací SSH uživatele jiného než 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).

Také ověřte, zda můžete ssh s uživatelem 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. Jak zakázat přihlášení uživatele root přes SSH

  2. SSH bez hesla nefunguje pro místní uživatele na serverech LDAP – CentOS/RHEL 7

  3. CentOS / RHEL 6 :Jak deaktivovat IPv6

  1. CentOS / RHEL :Jak nastavit chroot jail pro vsftp pouze pro konkrétní uživatele

  2. Jak nastavit klíče SSH pro přihlášení k SSH „bez hesla“ na CentOS/RHEL

  3. Jak fungují oprávnění k souborům pro uživatele root?

  1. Jak zakázat vzdálené přihlášení pro uživatele root na počítači se systémem Linux

  2. CentOS / RHEL 7 :Jak zakázat IPv6 pouze na konkrétním rozhraní

  3. Jak spustit rsyslog jako uživatel bez root v CentOS/RHEL 7