GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit přihlášení k SSH bez hesla

Úvod

SSH (Secure Shell) umožňuje bezpečné vzdálené připojení mezi dvěma systémy. Pomocí tohoto kryptografického protokolu můžete spravovat stroje, kopírovat nebo přesouvat soubory na vzdáleném serveru prostřednictvím šifrovaných kanálů.

Existují dva způsoby, jak se přihlásit do vzdáleného systému přes SSH – pomocí ověření heslem nebo ověření veřejným klíčem (přihlášení SSH bez hesla).

V tomto tutoriálu zjistíte, jak nastavit a povolit přihlašování SSH bez hesla.

Předpoklady

  • Přístup do příkazového řádku/okna terminálu
  • Uživatel s sudo nebokořen privilegia
  • Místní server a vzdálený server
  • Přístup SSH na vzdálený server pomocí příkazového řádku/okna terminálu

Než začnete:Zkontrolujte existující klíče SSH

Možná již máte na svém počítači vygenerován pár klíčů SSH. Chcete-li zjistit, zda máte v systému klíče SSH, spusťte příkaz:

ls -al ~/.ssh/id_*.pub

Pokud vám výstup říká, že žádné takové soubory neexistují, přejděte k dalšímu kroku, který vám ukáže, jak generovat klíče SSH.

V případě, že je máte, můžete použít stávající klíče, zálohovat je a vytvořit nový pár nebo jej přepsat.

Krok 1:Vygenerujte pár klíčů SSH

1. První věc, kterou musíte udělat, je vygenerovat pár klíčů SSH na počítači, na kterém právě pracujete.

V tomto příkladu vygenerujeme 4096bitový pár klíčů. Přidáme také e-mailovou adresu, ale je to volitelné. Příkaz je:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

2. Dále zadejte umístění, kam chcete klíče uložit, nebo stiskněte Enter přijmout výchozí cestu.

3. Také vás požádá o nastavení přístupové fráze. Přestože je díky tomu připojení ještě bezpečnější, může se při nastavování automatizovaných procesů přerušit. Proto můžete zadat přístupovou frázi nebo jednoduše stisknout Enter tento krok přeskočte.

4. Výstup vám pak řekne, kam uložil identifikační a veřejný klíč, a poskytne vám otisk klíče.

5. Ověřte, že jste úspěšně vytvořili pár klíčů SSH spuštěním příkazu:

ls -al ~/.ssh/id_*.pub

Měli byste vidět cestu identifikačního klíče a veřejného klíče, jako na obrázku níže:

Krok 2:Nahrajte veřejný klíč na vzdálený server

Veřejný klíč SSH můžete nahrát na vzdálený server pomocí ssh-copy-id nebo cat příkaz. Níže naleznete obě možnosti.

Možnost 1:Nahrajte veřejný klíč pomocí příkazu ssh-copy-id

Chcete-li povolit přístup bez hesla, musíte nahrát kopii veřejného klíče na vzdálený server.

1. Připojte se ke vzdálenému serveru a použijte ssh-copy-id příkaz:

ssh-copy-ide [remote_username]@[server_ip_address]

2. Veřejný klíč se poté automaticky zkopíruje do .ssh/authorized_keys soubor.

Možnost 2:Nahrajte veřejný klíč pomocí příkazu cat

Dalším způsobem, jak zkopírovat veřejný klíč na server, je použití cat příkaz.

1. Začněte připojením k serveru a vytvořením .ssh adresář na něm.

ssh [remote_username]@[server_ip_address] mkdir -p .ssh

2. Poté zadejte heslo pro vzdáleného uživatele.

3. Nyní můžete nahrát veřejný klíč z místního počítače na vzdálený server. Příkaz také určuje, že klíč bude uložen pod názvem authorized_keys v nově vytvořeném .ssh adresář:

cat .ssh/id_rsa.pub | ssh [remote_username]@[server_ip_address] 'cat >> .ssh/authorized_keys'

Krok 3:Přihlaste se k serveru bez hesla

S vygenerovaným párem klíčů SSH a nahráním veřejného klíče na vzdálený server byste nyní měli být schopni se připojit ke svému dedikovanému serveru bez zadání hesla.

Zkontrolujte, zda nastavení funguje spuštěním příkazu:

ssh [remote_username]@[server_ip_address]

Systém by vás měl přímo přihlásit ke vzdálenému serveru, není vyžadováno žádné heslo.

Volitelné:Odstraňování problémů s oprávněními k souborům vzdáleného serveru

Oprávnění k souborům na vzdáleném serveru mohou způsobit problémy s přihlášením k SSH bez hesla. Toto je běžný problém u starších verzí SSH.

Pokud jste i po provedení všech kroků stále vyzváni k zadání hesla, začněte úpravou oprávnění k souboru na vzdáleném serveru.

  • Nastavte oprávnění 700 pro .ssh adresář.
  • Nastavte oprávnění 640 pro .ssh/authorized_keys adresář.

Upravte oprávnění k souboru pomocí následujícího příkazu:

ssh [remote_username]@[server_ip_address] "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

Po zobrazení výzvy zadejte své heslo. Pokud byla akce úspěšná, nebude výstup žádný. Problém by měl být nyní vyřešen.


Linux
  1. Jak nastavit přihlášení SSH bez hesla v Linuxu

  2. Jak funguje SSH bez hesla v systému Linux / UNIX

  3. Jak nastavit klíče SSH pro přihlášení k SSH „bez hesla“ na CentOS/RHEL

  1. Jak nastavit SSH přihlášení bez hesla

  2. Jak nastavit klíče SSH

  3. Jak nastavit klíče SSH na Ubuntu 18.04

  1. Jak nastavit klíče SSH na Ubuntu 18.04

  2. Jak nastavit klíče SSH na Ubuntu 20.04

  3. Jak nastavit klíče SSH pro přihlášení k ssh „bez hesla“ v systému Linux