Primární způsob připojení k serveru Linux je přes Protokol SSH. Tento typ připojení je bezpečný, protože všechna data přenášená přes něj jsou šifrována. V pořadí na navázat připojení SSH měli byste jej nakonfigurovat na vzdáleném serveru, ke kterému se chcete připojit, a na klientovi na straně uživatele. Existuje spousta softwaru pro připojení SSH. Pokud jde o Linux, balíček OpenSSH je nejoblíbenější a pro Windows lidé většinou používají PuTTY.
Podívejme se blíže na konfiguraci serveru pomocí Ubuntu Server 18.04 jako příkladu a poté se pokusíme připojit k serveru z Linuxu a Windows.
Vše, co děláme, bude z běžného uživatelského účtu. V tomto případě jsme vytvořili uživatele „Michal", a "kořen” účet je ve výchozím nastavení zakázán.
Nastavení na straně serveru
Nastavte balíček spuštěním tohoto příkazu:
sudo apt install openssh-server
Po dokončení instalace se ujistěte, že služba běží. Použijte tento příkaz:
systemctl status sshd
Stav "Aktivní (běh)“ znamená, že služba je povolena a funguje normálně.
Abyste zabránili blokování příchozích připojení bránou firewall, nezapomeňte ji vypnout, protože v tomto článku nebudeme konfigurovat síťovou bránu firewall.
Použijte tento příkaz:
sudo ufw disable
V této fázi se již můžete připojit k serveru. S výchozím nastavením server umožňuje připojení na standardní port 22 s ověřováním na základě hesla.
SSH připojení z Linuxu
Klient OpenSSH je zpravidla nainstalován na Linuxu ve výchozím nastavení a nevyžaduje další ruční konfiguraci. Spojení lze navázat z terminálu pomocí příkazu ssh. Parametry by v tomto případě byly uživatelské jméno a IP adresa vzdáleného serveru. Na našem testovacím serveru, který používáme jako příklad, je pouze jeden účet „mihail“, takže použijeme tento.
ssh [email protected]
Při prvním připojení budete muset potvrdit přidání veřejného klíče serveru do databáze, takže odpovězte „anoPoté můžete zadat heslo. Pokud je připojení úspěšné, zobrazí se uvítací text příkazového řádku serveru. Nyní budou všechny příkazy provedeny přímo na vzdáleném serveru.
SSH z Windows
Otevřete Putty a nastavte parametry připojení. Ujistěte se, že přepínač „Typ připojení“ je otočeno SSH. Zadejte IP adresu do „Název hostitele” pole, výchozí hodnota 22 do „Přístav"A klikněte na"Otevřená".
Při prvním spojení Tmel vás požádá o potvrzení, že tomuto serveru důvěřujete, takže klikněte na „Ano"
Po zadání přihlašovacího jména a hesla se zobrazí příkazový řádek vzdáleného serveru.
Autentizace pomocí klíče. Zvýšení úrovně zabezpečení
Když se klient pokouší navázat zabezpečené připojení k serveru prostřednictvím SSH, před povolením připojení server vyžaduje ověření (ověření) klienta. Jak již bylo zmíněno, ve výchozím nastavení se obvykle používá ověřování na základě hesla. Neposkytuje robustní zabezpečení, protože vždy existuje způsob, jak jej brutálně vynutit. Kromě toho se autentizace heslem nevztahuje na připojení SSH pomocí skriptů.
Pro tento typ úloh existuje speciální metoda ověřování pomocí klíče. Jde o to, že klient vygeneruje soukromé a veřejné klíče a poté se veřejný klíč odešle na server. Poté pro připojení k serveru nepotřebujete heslo, protože autentizace se provádí na základě veřejných a soukromých klientských klíčů. Pro zajištění dobré úrovně zabezpečení by měl být přístup k soukromému klíči omezen. Vzhledem k tomu, že soukromý klíč je uložen na straně klienta a není přenášen přes síť, je tato metoda považována za bezpečnější.
Autentizace pomocí klíče na Linuxu
Pojďme vygenerovat veřejné a soukromé klíče na klientovi pomocí obslužného softwaru ssh-keygen. Nástroj navrhne změnu cesty k soukromému klíči a zadání přístupové fráze pro větší zabezpečení. Ve výchozím nastavení ponechte všechny parametry stisknutím klávesy Enter na všechny požadavky.
Výsledkem je, že v domovském adresáři ve složce .ssh najdete dva vygenerované soubory: id_rsa a id_rsa.pub které podle toho obsahují soukromé a veřejné klíče.
Poté budete muset odeslat veřejný klíč na server. Chcete-li to provést, zkopírujte obsah souboru „id_rsa.pub“soubor do “~/.ssh/authorized_keys” na serveru. Pojďme tou nejjednodušší cestou s pomocí “ssh-copy-id”. Zadejte přihlašovací jméno a IP adresu serveru, stejně jako v případě běžného připojení. Po zadání hesla se veřejný klíč klienta automaticky zkopíruje na server. Spusťte tento příkaz:
ssh-copy-id [email protected]
Poté, co toto vše uděláte, server již nebude vyžadovat zadání hesla.
Ověřování pomocí klíče ve Windows
Otevřená PUTTYGEN a klikněte na tlačítko "GenerovatChcete-li vygenerovat klíče, stačí najet myší na obrazovku a nástroj náhodně vygeneruje klíče.
Po vygenerování klíčů klikněte na „Uložte soukromý klíč” a uložte jej do souboru se soukromým klíčem na vašem disku. Můžete nastavit libovolnou cestu, kterou chcete, ale o něco později ji budete muset zadat v Putty. Poté zkopírujte veřejný klíč z horní části okna.
Odešleme veřejný klíč jednoduchým zkopírováním do terminálu. OTEVŘENO Tmel a připojte se k serveru jako obvykle. Nyní vytvoříme „.ssh/authorized_keys” a omezí ostatní uživatele v přístupu k souboru, takže je dostupný pouze pro tvůrce.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Po vytvoření souboru do něj vložte veřejný klíč klienta. V předchozí fázi jsme zkopírovali veřejný klíč do schránky. Chcete-li do souboru zaznamenat, co je ve schránce, použijte příkaz cat a přesměrování výstupu.
cat > .ssh/authorized_keys
Po zadání příkazu klikněte pravým tlačítkem myši v okně terminálu a vložte, co je ve schránce. Pro potvrzení zadání stiskněte “Ctrl + D” a odpojte se od serveru.
Nyní uvedeme cestu k soukromému klíči v Putty a znovu se připojíme k serveru.
Od této chvíle, abyste se mohli připojit k serveru, budete muset zadat pouze uživatelské jméno. Pokud se pokoušíte připojit k serveru z jiného zařízení, které nemá správný soukromý klíč, server si vyžádá heslo. Po nastavení ověřování na základě klíče můžete zakázat přístup pomocí hesla.