Vyhledávání na webu

Jak nastavit dvoufaktorové ověřování pro SSH na Fedoře


Zdá se, že každý den je hlášeno mnoho narušení bezpečnosti, kde jsou naše data ohrožena. Navzdory skutečnosti, že SSH je bezpečný způsob, jak vytvořit vzdálené připojení k systému Linux, ale přesto může neznámý uživatel získat přístup k vašemu počítači se systémem Linux, pokud ukradne vaše klíče SSH, i když zakážete hesla nebo povolíte pouze připojení SSH přes veřejné a soukromé klíče.

V tomto článku vysvětlíme, jak nastavit dvoufaktorové ověřování (2FA) pro SSH v distribuci Fedora Linux pomocí Google Authenticator pro přístup vzdálený systém Linux bezpečnějším způsobem poskytnutím čísla TOTP (The Time-based One-time Password) náhodně generovaného ověřovací aplikací na mobilním zařízení.

Přečtěte si také: Jak nastavit dvoufaktorové ověřování pro přihlášení SSH v CentOS a Debianu

Upozorňujeme, že pro své mobilní zařízení můžete použít jakoukoli aplikaci pro obousměrné ověřování, která je kompatibilní s algoritmem TOTP. Pro Android nebo IOS je k dispozici řada bezplatných aplikací, které podporují TOTP a Google Authenticator, ale v tomto článku je jako příklad použit Google Authenticator.

Instalace aplikace Google Authenticator na Fedoru

Nejprve nainstalujte aplikaci Google Authenticator na server Fedory pomocí následujícího příkazu dnf.

sudo dnf install -y google-authenticator

Po instalaci aplikace Google Authenticator nyní můžete aplikaci spustit.

google-authenticator

Aplikace vás vyzve k řadě otázek. Následující úryvky vám ukážou, jak odpovědět na přiměřeně bezpečné nastavení.

Do you want authentication tokens to be time-based (y/n) y Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y

Aplikace vám poskytne tajný klíč, ověřovací kód a obnovovací kódy. Uchovávejte tyto klíče na bezpečném bezpečném místě, protože tyto klíče jsou jediným způsobem, jak získat přístup k serveru, pokud ztratíte své mobilní zařízení.

Nastavení ověřování mobilního telefonu

Na svém mobilním telefonu přejděte do obchodu s aplikacemi Google Play nebo iTunes, vyhledejte Google Authenticator a nainstalujte aplikaci.

Nyní otevřete aplikaci Google Authenticator na svém mobilním telefonu a naskenujte QR kód zobrazený na obrazovce terminálu Fedory. Jakmile je skenování QR kódu dokončeno, získáte náhodně vygenerované číslo autentizační aplikací a toto číslo použijete pokaždé, když se vzdáleně připojíte k vašemu serveru Fedora.

Dokončete konfiguraci aplikace Google Authenticator

Aplikace Google Authenticator vyzve k dalším otázkám a následující příklad ukazuje, jak na ně odpovědět za účelem nastavení zabezpečené konfigurace.

Nyní musíte nakonfigurovat SSH tak, aby používal novou obousměrnou autentizaci, jak je vysvětleno níže.

Nakonfigurujte SSH tak, aby používal Google Authenticator

Chcete-li nakonfigurovat SSH pro použití aplikace authenticator, musíte mít nejprve funkční připojení SSH pomocí veřejných klíčů SSH, protože připojení pomocí hesla zakážeme.

Otevřete soubor /etc/pam.d/sshd na vašem serveru.

sudo vi /etc/pam.d/sshd

Zakomentujte řádek auth substack password-auth v souboru.

#auth       substack     password-auth

Dále umístěte následující řádek na konec souboru.

auth sufficient pam_google_authenticator.so

Uložte a zavřete soubor.

Dále otevřete a upravte soubor /etc/ssh/sshd_config.

sudo vi /etc/ssh/sshd_config

Vyhledejte řádek ChallengeResponseAuthentication a změňte jej na yes.

ChallengeResponseAuthentication yes

Vyhledejte řádek PasswordAuthentication a změňte jej na no.

PasswordAuthentication no

Dále umístěte následující řádek na konec souboru.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Uložte a zavřete soubor a poté restartujte SSH.

sudo systemctl restart sshd

Testování dvoufaktorové autentizace na Fedoře

Nyní se zkuste vzdáleně připojit k vašemu serveru, požádá vás o zadání ověřovacího kódu.

ssh [email 

Verification code:

Ověřovací kód je náhodně generován na vašem mobilním telefonu vaší ověřovací aplikací. Protože se vygenerovaný kód mění každých pár sekund, musíte jej rychle zadat, než vytvoří nový.

Pokud zadáte nesprávný ověřovací kód, nebudete se moci připojit k systému a zobrazí se následující chyba zamítnutí oprávnění.

ssh [email 

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
Závěr

Implementací této snadné obousměrné autentizace jste do svého systému přidali další vrstvu zabezpečení a také to znesnadňuje neznámému uživateli přístup k vašemu serveru.