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.