Tato příručka vysvětluje, jak zakázat ověřování pomocí hesla SSH pro konkrétního uživatele nebo skupinu v operačních systémech Linux a Unix.
Upozorňujeme, že se nechystáme zcela zakázat přístup SSH uživatelům nebo skupině. Místo toho zakážeme pouze ověřování pomocí hesla SSH.
Uživatelé mohou stále přistupovat k systémům přes SSH pomocí jiných autentizačních metod, například autentizace na základě klíče SSH.
Zakázat ověřování pomocí hesla SSH pro konkrétního uživatele nebo skupinu
Uživatelům a/nebo celé skupině můžeme povolit nebo zakázat přístup SSH pomocí "/etc/ssh/sshd_config" soubor v Linuxu. Soubor sshd_config má parametr s názvem "Match" což vám pomůže zakázat ověřování heslem SSH pro uživatele nebo skupiny.
Nejprve se podívejme, jak deaktivovat ověřování heslem pro konkrétního uživatele.
Upravte soubor "/etc/ssh/sshd_config" pomocí svého oblíbeného editoru jako uživatel root nebo sudo:
$ sudo nano /etc/ssh/sshd_config
Nejprve odeberte výchozí metodu ověřování komentářem na následujícím řádku:
#PasswordAuthentication yes
Dále přidejte na konec následující řádky:
[...] Match User senthil PasswordAuthentication no

Zakázat ověřování hesla SSH pro konkrétního uživatele
Vezměte prosím na vědomí, že shoda je účinná „do dalšího řádku shody nebo do konce souboru“. Pokud se klíčové slovo objeví ve více shodných blocích, které jsou splněny, použije se pouze první výskyt klíčového slova.
Podle výše uvedeného příkladu jsme zakázali ověřování heslem SSH pro uživatele s názvem "senthil". Nahraďte „senthil“ svým vlastním uživatelským jménem. Uložte a zavřete soubor. Restartujte službu ssh, aby se změny projevily:
$ sudo systemctl restart ssh
Nyní se zkuste přihlásit jako uživatel "senthil" přes SSH:
$ ssh [email protected]
Zobrazí se následující chybová zpráva:
[email protected]: Permission denied (publickey).

Zakázat ověřování hesla SSH pro konkrétního uživatele v systému Linux
Zakázat ověřování hesla SSH pro skupinu
Chcete-li zakázat ověřování pomocí hesla SSH pro konkrétní skupinu, stačí nahradit uživatelské jméno názvem skupiny v souboru sshd_config.
Match Group mygroup PasswordAuthentication no
Nahraďte "mygroup" ve výše uvedené konfiguraci svým vlastním názvem skupiny.
Nezapomeňte restartovat službu ssh, aby se změny projevily.
Zakázat ověřování heslem SSH pro více uživatelů
Můžete odmítnout ověření hesla SSH pro více uživatelů uvedením uživatelských jmen oddělených čárkami, jak je uvedeno níže:
Match User senthil,kumar PasswordAuthentication no
Výše uvedená příkladová konfigurace zabrání ověřování heslem SSH pro uživatele „senthil“ a „kumar“.
Zakázat ověřování pomocí hesla SSH pro všechny uživatele kromě uživatele root
V některých systémech Linux můžete chtít povolit ověřování heslem SSH pouze pro uživatele „root“ a zakázat je pro všechny ostatní uživatele. Pokud ano, přidejte na konec do souboru sshd_config následující řádek:
Match User !root PasswordAuthentication no
Omezit ověřování hesla SSH podle hostitele nebo adresy IP
Nejen uživatele nebo skupinu, můžeme odmítnout ověřování heslem SSH také podle hostitele nebo IP adresy.
Například následující příklad zabrání přístupu SSH z hostitele, který obsahuje IP adresu:
Match Address 192.168.225.37 PasswordAuthentication no
Chcete-li omezit ověřování pomocí hesla SSH pro konkrétní rozsah IP adres, přidejte toto:
Match Address 192.168.225.* PasswordAuthentication no
A tento příklad odmítne přístup SSH pomocí hesla z hostitele, který obsahuje název hostitele:
Match Address hostname PasswordAuthentication no
Další podrobnosti naleznete na manuálových stránkách.
$ man sshd_config
Závěr
V této příručce jsme diskutovali o tom, jak zakázat ověřování pomocí hesla SSH pro konkrétního uživatele nebo skupinu v systému Linux. Dále jsme se zabývali tím, jak zakázat přístup pomocí hesla SSH pro více uživatelů, jak omezit přístup pomocí hesla SSH pro všechny uživatele kromě uživatele root. Nakonec jsme se naučili, jak omezit ověřování hesla SSH podle hostitele nebo IP adresy.
Další příručky související s SSH:
- Jak nakonfigurovat ověřování pomocí klíče SSH v systému Linux
- Povolení nebo odepření přístupu SSH konkrétnímu uživateli nebo skupině v systému Linux
- Omezit počet přihlášení SSH na uživatele/skupinu/systém
- Omezit přístup k serverům Linux pomocí TCP Wrappers
- Provádění příkazů na vzdálených systémech Linux prostřednictvím SSH
- Jak vytvořit alias SSH v systému Linux
- Jak SSH do konkrétního adresáře v systému Linux
- SSLH – Sdílejte stejný port pro HTTPS a SSH
- ScanSSH – rychlý server SSH a otevřený skener proxy
- Jak obnovit částečně přenesené soubory přes SSH pomocí Rsync
- Jak spustit jeden příkaz na více vzdálených systémech najednou
- DSH – Spusťte příkaz Linux na více hostitelích současně
- Jak zabránit odpojování relace SSH v systému Linux
- Jak povolit SSH na FreeBSD
Doufám, že to pomůže.