GNU/Linux >> Znalost Linux >  >> Linux

Omezte počet SSH přihlášení na uživatele/skupinu/systém

Jak pravděpodobně víte, můžeme SSH do vzdáleného systému Linux stejným uživatelem několikrát. Neexistuje žádný limit! Můžete jednoduše otevřít více oken Terminálu (nebo více karet v Terminálu) a zahájit více relací SSH z každé karty pomocí stejného uživatelského účtu. Co když chcete toto chování změnit? Můžete například chtít povolit uživateli pouze jednu aktivní relaci SSH. To je to, co nyní uvidíme. Tento stručný návod vysvětluje, jak omezit počet SSH přihlášení na uživatele, skupinu nebo systém v Linuxu.

Ve většině distribucí Linuxu existuje soubor s názvem limits.conf kde můžete definovat maximální počet souběžných relací SSH pro uživatele nebo skupinu uživatelů. Pokud se konkrétní uživatel pokusí o SSH do systému více než povolených SSH přihlášení, bude mu odepřen přístup.

Omezit počet SSH přihlášení na uživatele nebo skupinu v systému Linux

Soubor limits.conf soubor je obvykle umístěn pod /etc/security/ adresář na systémech založených na RPM a DEB.

Přejděte do svého vzdáleného systému a upravte /etc/security/limits.conf soubor s sudo nebo root uživatel:

$ sudo nano /etc/security/limits.conf

Chcete-li omezit počet souběžných relací SSH pro konkrétního uživatele , například ostechnix , Na konec přidejte následující řádek:

ostechnix	hard	maxlogins	1

Tady,

  • ostechnix – Jméno uživatele na mém serveru CentOS 8.
  • maxlogins 1 - Maximální počet přihlášení pro tohoto uživatele. V mém případě je to 1 . Tuto hodnotu můžete zvýšit, abyste povolili maximální ne. aktivních relací SSH na uživatele.
  • tvrdé - Prosazování přísných limitů.

Pokud chcete omezit počet připojení SSH pro skupinu uživatelů , přidejte toto:

@mygroup	hard    maxlogins	1

Nahraďte @moje skupina s názvem vaší skupiny. V tomto scénáři se všichni uživatelé v mygroup nemohou přihlásit přes SSH více než jednou.

Pokud chcete omezit relace SSH všech uživatelů (globálně) v systému, přidejte místo toho tento řádek:

*	hard    maxlogins	1

Zde je hvězdička znamená globální (tj. všichni uživatelé v systému). Jakmile definujete maximální počet relací SSH na uživatele/skupinu nebo celý systém, uložte a zavřete soubor.

Nyní zkuste SSH do systému se stejným uživatelem více než jednou. Zobrazí se chybová zpráva jako níže.

Too many logins for 'ostechnix'.
Last login: Tue Feb 18 17:12:09 2020 from 192.168.225.37
Connection to 192.168.225.52 closed.

Jak vidíte ve výše uvedeném výstupu;

  1. Nejprve jsem SSH do vzdáleného serveru CentOS 8 jako uživatel root přes SSH a připojení bylo úspěšně navázáno.
  2. Potom jsem otevřel novou kartu a SSH na stejný server jako normální uživatel "ostechnix" a připojení bylo úspěšné.
  3. Nakonec jsem zkusil SSH na stejný server se stejným uživatelem (tj. ostechnix) a tentokrát bylo připojení zamítnuto. Uživatel "ostechnix" nemůže SSH do systému více než jednou . Protože jeho maximální počet povolených relací SSH pro tohoto uživatele je pouze jedna čas. Proto je tomuto uživateli odepřeno připojení SSH.

V tomto příkladu jsme omezili celkový počet aktivních relací SSH pro uživatele nebo skupinu nebo všechny uživatele v systému. Je také možné omezit relace SSH na základě systému. Například - můžeme povolit pouze jedno přihlášení SSH ze systému, nikoli pro uživatele nebo skupinu.

Omezit celkový počet relací SSH na systém

Chcete-li omezit celkový počet aktivních připojení SSH na systém, přidejte následující řádek do /etc/security/limits.conf soubor:

*       hard    maxsyslogins    1

Zde maxsyslogins označuje maximální počet přihlášení do systému, nikoli na uživatele nebo skupinu.

Zkuste se do systému přihlásit pomocí SSH a nemůžete do systému přistupovat více, než je maximální povolený počet přihlášení v systému.

Vidět? Uživatel "ostechnix" neumí ani SSH napoprvé. Protože celkový počet povolených SSH přihlášení je pro systém pouze jeden. Tentokrát bylo bráno v úvahu i připojení SSH vytvořené uživatelem root. Maximální počet SSH přihlášení tedy překročil definovaný limit a uživateli „ostechnix“ byl odepřen přístup. Doufám, že rozumíte.

Upozorňujeme, že toto omezení platí pouze pro běžné uživatele. Uživatel root se stále může přihlásit přes SSH libovolný počet opakování.

Související čtení:

  • Povolení nebo odepření přístupu SSH konkrétnímu uživateli nebo skupině v systému Linux
  • 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

Linux
  1. Rychlý tip:Přidejte uživatele do skupiny sudoers

  2. Ssh – Omezení uživatele Ssh/scp/sftp na adresář?

  3. Funkce kořene uživatelské skupiny??

  1. Změňte výchozí číslo portu serveru SSH

  2. Jaký je účel „uživatele systému“ v replikaci MySQL

  3. Jak zjistit počet jader systému v Linuxu?

  1. Praktický limit na počet snímků Btrfs?

  2. Jaký je rozdíl mezi normálním uživatelem a systémovým uživatelem?

  3. Jak zobrazit běžící procesy libovolného uživatele v SSH?