GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit SSH na CentOS &RHEL

SSH (Secure Shell) je zabezpečený síťový protokol založený na architektuře klient-server, který umožňuje bezpečný přístup ke vzdáleným počítačům/serverům přes síť.

SSH je široce používán správci systému pro připojení ke vzdáleným serverům. Díky tomu mohou správci snadno spravovat servery a aplikace vzdáleně a bezpečně odkudkoli a kdykoli.

V této příručce vám ukážu, jak nastavit a povolit SSH na systémech CentOS/RHEL. S povoleným SSH na tomto systému CentOS byste měli mít přístup k tomuto systému z jiných počítačů pomocí jeho IP adresy.

Tento tutoriál také obsahuje kroky ke změně výchozího portu SSH, zakázání přihlášení SSH pro uživatele root a nastavení brány firewall pro zabezpečení vašeho serveru SSH.

Chcete-li dokončit tuto příručku, ujistěte se, že máte následující požadavky:

  • Systém CentOS/RHEL Linux. Můžete jej nainstalovat na svůj fyzický počítač/skutečný hardware nebo pomocí virtuálního počítače prostřednictvím KVM/VirtualBox nebo pomocí poskytovatelů cloudu třetích stran, jako je Linode (ale obvykle již mají povoleno SSH).
  • Uživatel bez oprávnění root s právy sudo/root. Tento uživatel bude použit pro úpravu vašeho systému. A nakonec může být tento uživatel použit k přihlášení k vašemu serveru.

Instalace balíčků OpenSSH

OpenSSH je jednou z nejpopulárnějších softwarových implementací protokolu SSH. Používají ho miliony linuxových serverů a stává se kritickou součástí serverového prostředí. Ve výchozím nastavení je OpenSSH k dispozici na většině repozitářů distribuce Linuxu, včetně systémů CentOS a RHEL.

Než začnete, aktualizujte svůj index balíčků pomocí správce balíčků DNF, jak je uvedeno níže.

sudo dnf check-update

Dále nainstalujte balíčky OpenSSH na systémy CentOS/RHEL pomocí následujícího příkazu. Tento příkaz nainstaluje balíčky serveru OpenSSH a také klientský software OpenSSH.

sudo dnf install openssh-server openssh-clients -y

Po dokončení instalace OpenSSH spusťte následující příkaz pro spuštění sshd službu a povolit její automatické spouštění při spouštění systému.

sudo systemctl enable --now sshd

Nyní ověřte sshd stav služby spuštěním následujícího příkazu.

sudo systemctl status sshd

Obdržíte výstup jako na následujícím snímku obrazovky. sshd služba je active (running) .

Konfigurace serveru SSH

Ve výchozím nastavení je konfigurace SSH dostupná v /etc/ssh adresář a hlavní konfigurační soubor je sshd_config . Tento soubor obsahuje základní konfiguraci SSH, jako je ListenAddress který určuje IP adresu spuštěné služby SSH, Port pro nastavení portu služby SSH, metod ověřování a mnoha dalších.

V této sekci upravíte konfiguraci sshd_config , poté změňte výchozí port SSH a zakažte přihlášení pro uživatele root.

Toto nastavení je doporučeno z bezpečnostních důvodů, má zvýšit zabezpečení serveru a omezit útoky hrubou silou proti vašemu serveru.

Nyní otevřete soubor sshd_config pomocí vi editor nebo vámi preferovaný editor.

sudo vi /etc/ssh/sshd_config

Než začnete upravovat soubor, musíte vědět, že řádky začínající # a prázdné řádky jsou interpretovány jako komentáře.

V horní části řádku změňte výchozí port SSH z 22 do vašeho preferovaného portu. Tento tutoriál používá nestandardní port 2028 pro SSH.

Port 2028
⚠️Ujistěte se prosím, že máte uživatele bez oprávnění root s povoleným přístupem sudo v tomto systému. V opačném případě, pokud zakážete přihlášení root, možná se nebudete moci vzdáleně přihlásit ke svému serveru.

Dále změňte možnost PermitRootLogin yes na PermitRootLogin no . Tím se zakáže přihlášení SSH pro uživatele root uživatel. Volitelně můžete přidat # na začátku řádku PermitRootLogin .

PermitRootLogin no

Uložte a zavřete soubor.

Po provedení změn ověřte konfiguraci SSH a restartujte sshd službu.

sshd -t
sudo systemctl restart sshd

Nyní se můžete připojit ke svému SSH serveru spuštěním ssh příkaz níže.

ssh [email protected] -p PORT

-p volba se používá k určení portu vašeho serveru SSH.

V této části jste dokončili základní konfiguraci pro zabezpečení serveru SSH změnou výchozího portu SSH a zakázáním přihlášení pro root uživatel. Navíc jste se naučili připojit k SSH serveru s nestandardním portem. Dále nainstalujete a nakonfigurujete firewalld.

Instalace a konfigurace brány firewall

Pokud používáte server CentOS/RHEL na veřejném internetu, jako je cloudový server, možná budete muset povolit bránu firewall. To zvýší zabezpečení vašeho serveru tím, že omezí přístup pouze ke konkrétním službám, jako jsou SSH, HTTP a HTTPS. V distribuci založené na CentOS/RHEL je firewalld výchozím balíčkem firewallu, který si můžete nainstalovat do svého systému.

V této části nainstalujete firewall a nastavíte jeho otevřené porty pro váš SSH server.

Chcete-li nainstalovat firewalld, spusťte dnf příkaz níže.

sudo dnf install firewalld -y

Po dokončení instalace firewallu spusťte a povolte firewalld servis. Poté ověřte jeho stav spuštěním následujícího příkazu.

sudo systemctl enable --now firewalld
sudo systemctl status firewalld

Obdržíte podobný výstup jako snímek obrazovky níže. firewalld služba je active (running) .

Pro interakci s firewalld můžete použít příkaz firewall-cmd . Je to rozhraní příkazového řádku pro správu pravidel brány firewall. Můžete použít firewall-cmd přidávat, odebírat a upravovat pravidla brány firewall. A existuje mnoho dalších, které můžete udělat pomocí firewall-cmd .

Chcete-li nyní do systému přidat vlastní port SSH, spusťte firewall-cmd příkaz níže.

sudo firewall-cmd --add-port=2028/tcp --permanent

Obdržíte výstup success , což znamená, že operace byla úspěšná a dokončena.

Tento příklad používá port 2028 jako vlastní port SSH. a služba SSH běží na portu TCP, takže musíte zadat port a protokol, například 2028/tcp . Možnost --permanent dělá toto pravidlo trvale.

Poté znovu načtěte pravidla brány firewall a použijte novou konfiguraci pomocí následujícího příkazu.

sudo firewall-cmd --reload

Přidali jste vlastní port SSH do brány firewall. Provedením níže uvedeného příkazu zobrazíte seznam všech povolených pravidel.

sudo firewall-cmd --list-all

Nyní uvidíte seznam povolených pravidel ve firewallu. Služby SSH, Cockpit a dhcp jsou ve výchozím nastavení povoleny.

Chcete-li odebrat výchozí pravidlo SSH, spusťte firewall-cmd příkaz níže. Poté znovu načtěte pravidla brány firewall.

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Nyní jste dokončili instalaci a konfiguraci firewallu pro zabezpečení vašeho SSH serveru.

Závěr

V této příručce jste dokončili instalaci a konfiguraci SSH v systému CentOS/RHEL. Zabezpečili jste svůj SSH server změnou výchozího portu a zakázáním přihlášení pro root uživatel. Kromě toho jste dokončili instalaci a konfiguraci brány firewall v systému CentOS/RHEL pro zabezpečení serveru SSH.

Pokud máte dotazy, dejte nám vědět.


Linux
  1. Nastavení serveru DHCP na CentOS 8 – Jak na to?

  2. Jak nastavit VSFTPD na CentOS 8

  3. CentOS / RHEL :Jak nastavit chroot jail SFTP

  1. Jak vytvořit banner SSH na serveru CentOS/RHEL

  2. CentOS / RHEL 7:Jak nastavit výchozí cíl (výchozí úroveň běhu)

  3. CentOS / RHEL :Jak nakonfigurovat server DHCP

  1. Jak nainstalovat vnc server na RHEL 8 / CentOS 8

  2. Jak nainstalovat Nextcloud na server RHEL 8 / CentOS 8

  3. Jak nainstalovat OwnCloud na server RHEL 8 / CentOS 8