Slék ShEll nebo SSH je známý síťový protokol s otevřeným zdrojovým kódem. Protokol se používá pro vzdálené přihlášení k jiným strojům. Bylo by tedy snadné provádět spoustu příkazů a hladce spouštět jakoukoli aplikaci na vzdáleném zařízení bez nutnosti být poblíž vzdáleného počítače. Protokol SSH je navíc velmi důvěryhodný a bezpečný. Uživatelé při kopírování souborů mezi dvěma různými zařízeními vždy závisí na protokolu SSH.
Obecně platí, že k navázání připojení SSH se vzdáleným počítačem je třeba zadat uživatelské jméno a heslo pro vzdálený počítač. Ale co když potřebujete bezpečnější metodu než použití uživatelského jména a hesla při každém přihlášení? To lze provést pomocí klíče SSH vygenerovaného z klientského počítače a poté zkopírovaného do vzdáleného počítače. S extra malými konfiguracemi se budete moci bezpečně přihlásit ke vzdálenému počítači, aniž byste pokaždé použili uživatelské jméno a heslo. Používání klíče SSH namísto používání uživatelského jména a hesla při každém přihlášení je mnohem bezpečnější; rychle se může přihlásit pouze stroj, který drží správný klíč SSH.
Dnes vám ukážeme, jak navázat připojení SSH bez nutnosti zadávat heslo vzdáleného počítače. K rychlému přenosu souborů mezi různými stroji lze obvykle použít přihlášení bez hesla. Ale před spuštěním našeho tutoriálu se podívejme na naše prostředí.
Příprava prostředí
Nejlepší by bylo, kdybyste měli dva stroje, klienta a vzdálené stroje. Téměř veškerá práce bude provedena z klientského počítače, který bude použit pro připojení ke vzdálenému zařízení. Obě zařízení jsou Ubuntu s následujícími adresami IP
- The klient stroj má IP 192.168.1.20 s uživatelským jménem kozy.
- The dálkový stroj má IP 192.168.1.30 s uživatelským jménem hendadel.
Ještě jedna věc před spuštěním, ujistěte se, že jsou oba stroje aktuální pomocí následujících příkazů:
sudo apt aktualizace sudo apt aktualizace
Nyní začněme s naším průvodcem.
Nastavení přihlášení SSH bez hesla
Krok 1. Z klientského počítače se před použitím dalšího příkazu ujistěte, zda je vygenerován klíč SSH.
ls -al ~ /.ssh / id_ *.hospoda
Jak si můžete všimnout, pokud jste dosud nevygenerovali klíč SSH, zobrazí se zpráva „Žádný takový soubor nebo adresář“. V opačném případě rychle získáte dostupné klíče, pokud existují.
Krok 2. Jelikož nemáte žádné vygenerované klíče SSH dříve, je čas vygenerovat nový klíč SSH pomocí následujícího příkazu:
ssh-keygen -t rsa -b 4096
Předchozí příkaz obvykle vygeneruje nové dva klíče SSH ve dvou různých souborech. Oba soubory jsou uloženy ve skrytém adresáři s názvem „.ssh “v domovském adresáři aktuálního uživatele. Soukromý klíč najdete uložený v souboru s názvem id_dsa a další veřejný klíč v souboru s názvem id_dsa.hospoda. Dále budete požádáni o přidání přístupové fráze, která se používá k ochraně vygenerovaných klíčů, a můžete ji použít při připojování přes SSH. Ale můžete stisknout „Enter”Tlačítko nepoužívat.
Krok 3. Nyní můžete vypsat obsah souboru .adresář ssh, abyste se ujistili, že jsou vytvořeny oba klíče.
ls -l / home / tuts /.ssh /
Krok 4. Pomocí následujícího příkazu se také můžete ujistit, že má soubor klíč uvnitř:
ssh-keygen -lv
Krok 5. Náhled obsahu souboru veřejného klíče.
kočka .ssh / id_rsa.hospoda
Krok 6. Nyní ze vzdáleného počítače zkontrolujte, zda máte nainstalovaný SSH. Pokud není nainstalován, můžete použít následující příkaz.
sudo apt install ssh
Krok 7. Zpět na klientský počítač, připojte se ke vzdálenému počítači a vytvořte nový adresář s názvem .ssh.
sudo ssh remote_machine_username @ remote_machine_IP mkdir -p .ssh
Nezapomeňte nahradit remote_machine_username skutečným uživatelským jménem a remote_machine_IP vzdálenou IP.
Krok 8. Dále zkopírujeme z klientského počítače veřejný klíč SSH vygenerovaný dříve do vzdáleného počítače. Pomohlo by, kdybyste veřejný klíč vložili do souboru s názvem „Authorized_keys“. Důrazně doporučujeme neměnit název souboru, protože když se chystáte navázat připojení SSH, první soubor, který operační systém zkontroluje, je „Authorized_keys“ soubor. Pokud systém soubor nenašel, budete požádáni o zadání uživatelského jména a hesla, abyste se mohli přihlásit ke vzdálenému počítači.
sudo kočka .ssh / id_rsa.hospoda | ssh remote_machine_username @ remote_machine_IP 'kočka >> .ssh / authorized_keys '
Krok 9. Ze vzdáleného počítače zajistěte, aby byl veřejný klíč úspěšně zkopírován s názvem authorized_keys.
je .ssh / kočka .ssh / authorized_keys
Krok 10. Nyní z klientského počítače zkusme navázat připojení SSH bez uživatelského jména a hesla.
ssh remote_machine_username @ remote_machine_IP
Jak si můžete všimnout, nebudete požádáni o zadání uživatelského jména ani hesla.
Zakázat ověřování hesla
Chcete-li zakázat ověřování hesla pomocí veřejného klíče, nejprve musíte upravit konfigurační soubor SSH ze vzdáleného počítače a deaktivovat možnost ověřování hesla. Níže jsou uvedeny kroky.
Krok 1. Na vzdáleném počítači otevřete konfigurační soubor ssh pomocí svého oblíbeného editoru.
vi / etc / ssh / sshd_config
Krok 2. Přejděte na konec konfiguračního souboru SSH a přidejte několik dalších řádků, abyste deaktivovali ověřování pomocí hesla:
RSAAuthentication ano PubkeyAuthentication ano PasswordAuthentication ne UsePAM ne ChallengeResponseAuthentication ne
Krok 3. Uložte a ukončete soubor.
Krok 4. Nakonec restartujte službu SSH a zkuste znovu navázat nové připojení z klientského počítače ke vzdálenému počítači.
A je to! Právě jste se naučili, jak navázat připojení SSH bez hesla. Doufám, že se vám to líbilo.