SSH přístup pomocí RSA klíčů

Malá instrukce o organizaci přístupu SSH ke vzdálenému serveru Linux. Připomeňme, že standardní metoda autentizace uživatelů na Unix serveru (Linux, FreeBSD) při přístupu přes SSH je pár přihlašovacích údajů a hesel. Vstup do nich však není vždy vhodný, zejména pokud existuje mnoho takových serverů. K tomuto typu přístupu existuje alternativa - uspořádání přístupu SSH pomocí dvojice RSA klíčů (veřejných a soukromých) a přístupové fráze (což je obecně volitelné).

V tomto článku budeme uvažovat o použití tohoto typu přístupu, který lze implementovat pomocí jednoho z nejpopulárnějších programů pro práci na SSH   - PuTTY.

K práci potřebujeme následující nástroje rodiny PuTTY:

  • puttygen.exe - balíček pro vytvoření párů klíčů
  • putty.exe - ssh terminál sám
  • pscp.exe - Nástroj pro kopírování souborů scp

Vygenerujte pár RSA klíčů

Chcete-li to provést, spusťte obslužný program PuTTYgen, ujistěte se, že typ klíče je „SSH-2 RSA"A stiskněte tlačítko"Generovat".

Poté začíná generování párů klíčů a za účelem vygenerování náhodné sekvence musíte náhodně přetáhnout myš kolem lišty průběhu.

Na poli „Klíčový komentář“ můžete zadat popis klíče (bude zobrazen během ověřování klíče).

Na poli „Klíčové heslo“ a "Potvrdit přístupové fráze" určuje heslo pro aktivaci klíče (bude vyžadováno při připojení). Pokud nenastavíte přístupové heslo, bude připojení provedeno bez hesla: je to velmi pohodlné, ale ne příliš bezpečné, protože Aby mohl útočník přistupovat na server, musí od vás ukrást pouze soubor se soukromým klíčem (proto se doporučuje zachovat soukromý klíč v tajnosti: na externí jednotce USB, šifrovaném svazku atd.).

Poté stiskneme tlačítkaUložte veřejný klíč"A"Uložte soukromý klíč"A uložit veřejné a soukromé klíče do souboru se jmény, například:"public.key"A"private.ppk".

Nakonfigurujte veřejný klíč na serveru Linux.

Soubor veřejného klíče "public.key»Je třeba zkopírovat na server Linux, ke kterému se chcete připojit. Chcete-li to provést, použijte nástroj pscp.exe. Příkaz pro kopírování souboru bude vypadat asi takto:

pscp c: \ key \ public.key [email protected]: / tmp / foo

Dále musí být zkopírovaný klíč umístěn do domovského adresáře uživatele v souboru ~ / .ssh / autorizované_keys .

Chcete-li to provést, přejděte na server přes SSH (jako obvykle) a spusťte následující příkaz:

$ ssh-keygen -i -f /tmp/foo/public.key >> /home/myuser/.ssh/author_keys

kde myuser, jméno uživatele, který se bude moci přihlásit pomocí tohoto klíče.

Nezapomeňte se také ujistit, že je na serveru povolena autorizace klíče. V souboru / etc / ssh / sshd_config by měly být zrušeny následující řádky:

Ověřování RSA ano
PubkeyAuthentication yes
AuthorizedKeysFile .ssh /uthor_keys

Spojujeme se přes SSH pomocí klíče

Začínáme PuTTY a na levé straně obrazovky přejděte na Připojení -> SSH -> Auth.

Najděte řádek "Soukromé klíč soubor pro autentizace », musíte kliknout na tlačítko „Procházet“ a zadat náš soubor soukromým klíčem „soukromý.ppk“.
Poté na hlavní kartě zadejte název / ip adresu našeho serveru Linux a spusťte připojení. Poté vás systém jako obvykle požádá o zadání přihlašovacího jména a poté přístupové heslo klíče (pokud bylo zadáno). Není-li přístupové heslo zadáno, konzola serveru se otevře bez hesla.
Aby nedošlo k nastavení Auth a neurčovalo klíčový soubor při každém připojení, lze nastavení uložit, proto jsou na hlavní kartě tlačítka Uložit (uložit nastavení PuTTY) a Načíst (nastavení načtení).. Všechna uložená nastavení Putty jsou uložena v registru, takže je můžete v podstatě přenést z jednoho počítače do druhého jednoduše exportem / importem části registru (další podrobnosti viz článek Přenos nastavení PuTTY).

Kromě toho, aby nebylo možné uživatelské jméno zadat pokaždé ručně, lze také uživatelské jméno uložit do PuTTY (Connection \ Data \ Auto-login username).

Pokud to nebude fungovat, analyzujeme log /var/log/auth.log na serveru.