PuTTY a přihlášení pomocí klíčů: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
(Obrázky, upřesnění)
(Obrázky (galaerie))
 
(Není zobrazeno 12 mezilehlých verzí od stejného uživatele.)
Řádka 15: Řádka 15:
 
== Instalace PuTTY ==
 
== Instalace PuTTY ==
 
Ze stránky https://www.putty.org/ (odkaz vede na https://www.chiark.greenend.org.uk/) si stáhněte MSI soubor s PuTTY (64 nebo 32bitový podle vašich Windows) a nainstalujte. Společně s PuTTY jsou nainstalovány i pomocné nástroje (PuTTYgen, Pageant a další).
 
Ze stránky https://www.putty.org/ (odkaz vede na https://www.chiark.greenend.org.uk/) si stáhněte MSI soubor s PuTTY (64 nebo 32bitový podle vašich Windows) a nainstalujte. Společně s PuTTY jsou nainstalovány i pomocné nástroje (PuTTYgen, Pageant a další).
 +
 +
== Použití PuTTY ==
 +
Spusťte nástroj PuTTY (''menu Start nebo klávesa Win - napište putty a klikněte''). V dialogovém okně PuTTY uveďte název cílového stoje. Pro zjednodušení přihlašování lze uvést přihlašovací jméno před zavináč (nebude nutné ho po navázání zadávat, rovnou bude zobrazena otázka na heslo). Po kliknutí na levý horní roh okna PuTTY se objeví menu s možností změny některých nastavení u již navázaného spojení (Change settings...).
 +
 +
Kopírování v PuTTY probíhá podobně jako v Linuxu, tj. text se zkopíruje do schránky ihned po označení ('''není''' potřeba stisknout CTRL+c) a vkládání ze schránky (na místo kurzoru) se dělá pomocí klávesové zkratky '''SHIFT+Insert'''.
 +
 +
V PuTTY lze jednotlivé session ukládat včetně jejich (odlišného) nastavení. Nastavuje se obvykle:
 +
 +
* Window
 +
** velikost okna (sloupce a řádky, PuTTY jejich počet ukazuje při změně velikosti okna)
 +
** Lines of scrollback (počet zapamatovaných řádků po odrolování v terminálu nahoru - zadejte klidně sto tisíc)
 +
* Window/Appearance
 +
** Font (bitmapový Fixedsys nelze zvětšovat, zvětšovat lze např. vektorový Courier New, nastavte vhodnou velikost)
 +
* Window/Behavior
 +
** System menu appears on ALT-Space (změnu nastavení lze ve fullscreen snadno vyvolat klávesovou zkratkou)
 +
** Full screen on Alt-Enter (znadné zvětšení terminálu přes celou obrazovku)
 +
* Window/Translation
 +
** Remote character set (v Linuxu je typicky použito UTF-8, ve starších instalacích to může být ISO-8859-2)
 +
* Connection
 +
** Seconds between keepalives (pokud se TCP spojení po nečinnosti přeruší, udržovat ho zasíláním prázdných zpráv, např. 30)
 +
* Session
 +
** Close window on exit (Only on clean exit - okno se automaticky zavře jen po odhlášení příkazem <code>logout</code>)
 +
* Session/Logging
 +
** pokud se nedaří přihlášení pomocí klíče, lze zapisovat ladící hlášení o úvodním handshake mezi PuTTY a serverem do logu
 +
 +
<gallery>
 +
Soubor:PuTTY - New session.png|PuTTY - nové spojení (v Host name vyplněno přihlašovací jméno a vzdálený počítač, Session uložena)
 +
Soubor:PuTTY - Default settings.png|PuTTY - příprava na uložení implicitního nastavení
 +
Soubor:PuTTY - Change settings.png|Po kliku na levý horní roh okna PuTTY se objeví menu (Change settings...)
 +
</gallery>
  
 
== Generování klíčů pomocí PuTTYgen ==
 
== Generování klíčů pomocí PuTTYgen ==
Spusťte nástroj PuTTYgen (menu Start nebo klávesa Win - napište putty a vyberte PuTTYgen). Ponechte výchozí typ klíče (RSA) i délku klíče (2048). Délku klíče můžete prodloužit na 4096, ale není to nutné (generování bude trvat déle, klíč bude robusnější). Klikněte na tlačítko Generate a v případě potřeby pohybujte myší v šedé prázdné horní části okna (generování entropie) - při pohybu bude postupovat zelený ukazatel.
+
Spusťte nástroj PuTTYgen (menu Start nebo klávesa Win - napište putty a vyberte PuTTYgen). Ponechte výchozí typ klíče (RSA) i délku klíče (2048). Délku klíče můžete prodloužit na 4096, ale není to nutné (generování bude trvat déle, klíč bude robusnější). Klikněte na tlačítko ''Generate'' a v případě potřeby pohybujte myší v šedé prázdné horní části okna (generování entropie) - při pohybu bude postupovat zelený ukazatel.
  
Po skončení generování se v horní části okna zobrazí veřejný klíč. Vyplňte Key comment (např. muj.email@seznam.cz-20211117) a Key passphrase (heslová fráze chránící privátní klíč), kterou musíte ještě zopakovat do políčka Confirm passphrase. Uložte privátní klíč kliknutím na tlačítko Save private key. Uložit ho můžete kamkoliv, zvolte popisné jméno (např. PuTTY-privatni-klic-muj.email@seznam.cz-2021-11-17.ppk). Volitelně můžete uložit veřejný klíč (nejlépe pod stejným jménem s příponou .TXT). Veřejný klíč je součástí PPK souboru s privátním klíčem a lze ho proto zpětně do PuTTYgen načíst (tlačítko Load). Můžete ho v horní části okna i označit myší a zkopírovat do schránky (klíč je zakódován do tisknutelných ASCII znaků, aby se dal snadno přenášet) - stačí na něj kliknout pravým tlačítkem, dát Vybrat vše a stisknout CTRL+c.
+
Po skončení generování se v horní části okna zobrazí veřejný klíč. Vyplňte ''Key comment'' (např. muj.email@seznam.cz-20211117) a ''Key passphrase'' (heslová fráze chránící privátní klíč), kterou musíte ještě zopakovat do políčka ''Confirm passphrase''. Uložte privátní klíč kliknutím na tlačítko ''Save private key''. Uložit ho můžete kamkoliv, zvolte popisné jméno (např. PuTTY-privatni-klic-muj.email@seznam.cz-2021-11-17.ppk). Volitelně můžete uložit veřejný klíč (nejlépe pod stejným jménem s příponou .TXT). Veřejný klíč je součástí PPK souboru s privátním klíčem a lze ho proto zpětně do PuTTYgen načíst (tlačítko ''Load''). Můžete ho v horní části okna i označit myší a zkopírovat do schránky (klíč je zakódován do tisknutelných ASCII znaků, aby se dal snadno přenášet) - stačí na něj kliknout pravým tlačítkem, dát ''Vybrat vše'' a stisknout CTRL+c.
  
 
<gallery>
 
<gallery>
Řádka 38: Řádka 68:
 
  chmod 700 .ssh
 
  chmod 700 .ssh
  
Spusťte textový editor <code>nano</code> a veřejný klíč uložte do souboru <code>~/.ssh/authorized_keys</code>:
+
=== Vložení klíče pomocí cat ===
 +
Zkopírujte si veřejný klíč do schránky (CTRL+c), spusťte příkaz <code>cat</code>, vložte obsah schránky vkládá na místo kurzoru kombinací kláves ''SHIFT+Insert'' a ukončete vstup pomocí CTRL+d a nastavte restriktivní oprávnění (číst může jen vlastník):
 +
 
 +
cat >> .ssh/authorized_keys
 +
SHIFT+Insert  ''(vložení obsahu schánky)''
 +
CTRL+d        ''(ukončení vstupu)''
 +
chmod 600 .ssh/authorized_keys
 +
 
 +
Ověřit si obsah souboru můžete také příkazem <code>cat</code>:
 +
 
 +
cat .ssh/authorized_keys
 +
 
 +
Každý klíč musí být na jednom řádku (který může kvůli délce a velikosti okna přetékat přes více řádků), ale nebude v něm nikde umístěn ''Enter'' (přechod na nový řádek).
 +
 
 +
=== Vložení klíče pomocí editoru nano ===
 +
Spusťte textový editor <code>nano</code> tak, aby editoval soubor <code>~/.ssh/authorized_keys</code>:
  
 
  nano .ssh/authorized_keys
 
  nano .ssh/authorized_keys
  
V PuTTY se obsah schránky vkládá na místo kurzoru kombinací kláves ''SHIFT+Insert''. Ukončení editoru s uložením obsahu souboru proveďte kombinací ''CTRL+x'' (viz nápověda v dolní části okna) &ndash; na otázky v dolní části obrazovky odpovídejte klávesami Y (případně N) a jméno souboru potvrďte klávesou ''Enter''. Klíč by měl být na jednom řádku, který může kvůli velikosti okna přetékat přes více řádků, ale nebude v něm nikde umístěn ''Enter'' (přechod na nový řádek). V souboru může být více veřejných klíčů, vždy jeden na jednom dlouhém řádku.
+
V PuTTY se obsah schránky vkládá na místo kurzoru kombinací kláves ''SHIFT+Insert''. Ukončení editoru s uložením obsahu souboru proveďte kombinací ''CTRL+x'' (viz nápověda v dolní části okna) &ndash; na otázky v dolní části obrazovky odpovídejte klávesami Y (případně N) a jméno souboru potvrďte klávesou ''Enter''. Každý klíč musí být na jednom řádku, který může kvůli délce a velikosti okna přetékat přes více řádků, ale nebude v něm nikde umístěn ''Enter'' (přechod na nový řádek).
  
 
Nastavte restriktivní oprávnění (číst může jen vlastník):
 
Nastavte restriktivní oprávnění (číst může jen vlastník):
Řádka 57: Řádka 102:
 
Nejjednodušší způsob přihlašování pomocí veřejného klíče (umístěného na cílovém vzdáleném serveru) je, že svůj privátní klíč načtete do aplikace Paegant, ze které si ho PuTTY při přihlašování načte. Výhodou tohoto postupu je, že do vypnutí počítače je klíč odemčený v aplikaci Paegant a můžete se opakovaně přihlašovat bez zadávání heslové fráze.
 
Nejjednodušší způsob přihlašování pomocí veřejného klíče (umístěného na cílovém vzdáleném serveru) je, že svůj privátní klíč načtete do aplikace Paegant, ze které si ho PuTTY při přihlašování načte. Výhodou tohoto postupu je, že do vypnutí počítače je klíč odemčený v aplikaci Paegant a můžete se opakovaně přihlašovat bez zadávání heslové fráze.
  
Spusťte program Pageant (klávesa Win - napište pageant a spusťte). Běžící Pageant se ukryje do System Tray (zobáček v pravé dolní části obrazovky u hodin). Na ikonu programu Pageant buď proveďte dvojklik a klikněte na tlačítko Add Key (nebo klikněte v System Tray na ikonu programu Pageant pravým tlačítkem myši a rovnou vyberte Add Key). Nalistujte uložený privátní klíč, potvrďte, vložte heslovou frázi chránící privátní klíč.
+
Spusťte program Pageant (klávesa Win - napište pageant a spusťte). Běžící Pageant se ukryje do ''System Tray'' (zobáček v pravé dolní části obrazovky u hodin). Na ikonu programu Pageant buď proveďte dvojklik a klikněte na tlačítko ''Add Key'' (nebo klikněte v ''System Tray'' na ikonu programu Pageant pravým tlačítkem myši a rovnou vyberte ''Add Key''). Nalistujte uložený privátní klíč, potvrďte, vložte heslovou frázi chránící privátní klíč.
  
 
Spusťte program PuTTY a přihlašte se na vzdálený server, kde máte uložen veřejný klíč. Pokud je vše správně, nebudete dotázání na přihlašovací heslo.
 
Spusťte program PuTTY a přihlašte se na vzdálený server, kde máte uložen veřejný klíč. Pokud je vše správně, nebudete dotázání na přihlašovací heslo.
Řádka 66: Řádka 111:
 
Soubor:Win - Pageant - import.png|Import klíče do nástroje Pageant
 
Soubor:Win - Pageant - import.png|Import klíče do nástroje Pageant
 
Soubor:Win - Pageant - import.png|Naimportovaný privátní klíč v nástroji Pageant
 
Soubor:Win - Pageant - import.png|Naimportovaný privátní klíč v nástroji Pageant
 +
Soubor:PuTTY - AuthKey.png|Uvedení klíče přímo v PuTTY místo využití nástroje Pageant
 
</gallery>
 
</gallery>
 +
 +
Méně pohodlné je v PuTTY uvést v nastavení ''Connection → SSH → Auth → Private key for authentication'', protože pak je potřeba odemykat privátní klíč heslovou frází při každém přihlášení (viz poslední obrázek výše).
  
 
=== Přihlášení klíčem nefunguje ===
 
=== Přihlášení klíčem nefunguje ===
 
[[Soubor:Pluto - terminal.png|thumb|Posloupnost příkazů v terminálu]]
 
[[Soubor:Pluto - terminal.png|thumb|Posloupnost příkazů v terminálu]]
Pokud přihlášení klíčem nefunguje, zkontrolujte oprávnění na adresáři .ssh a souboru ~/.ssh/authorized_keys (příkazy <code>ls</code>, oprávnění jsou znaky <code>drwx-</code> v levé části). Zkontrolujte, jestli někde není překlep a jestli veřejný klíč není rozdělen klávesou Enter na více řádků (v editoru při pohybu šipkou doprava nesmí kurzor ukázat, že před pravým krajem obrazovky přešel na nový řádek, případně první číslo výstupu příkazu <code>wc</code> musí být jednička, resp. počet klíčů v souboru). Veřejné klíče lze vypsat příkazem <code>cat</code>. V následujícím seznamu jsou příkazy uvedeny za znakem dolar ($) a jejich případné výstupy následují.
+
Pokud přihlášení klíčem nefunguje, podívejte se do záznamu o přihlášení, tj. v menu Putty (klikněte levý horní roh okna PuTTY) zvolte v menu položku ''Event log'' a z jednotlivých hlášení zkuste vyčíst, s čím je problém. Velmi často jsou špatně nastavena oprávnění na vzdáleném serveru, kde je uložen veřejný klíč.
  
  $ ls -ld .ssh
+
Na vzdáleném serveru zkontrolujte oprávnění na adresáři .ssh a souboru ~/.ssh/authorized_keys (příkazy <code>ls</code>, oprávnění pro adresář jsou znaky <code>drwx-</code> v levé části, pro soubor pak <code>-rw</code>). Zkontrolujte, jestli někde není překlep a jestli veřejný klíč není rozdělen klávesou Enter na více řádků (v editoru při pohybu šipkou doprava nesmí kurzor ukázat, že před pravým krajem obrazovky přešel na nový řádek, případně první číslo výstupu příkazu <code>wc</code> musí být jednička (tj. počet řádků, resp. počet klíčů v souboru). Veřejné klíče lze vypsat příkazem <code>cat</code>. V následujícím seznamu jsou zadané příkazy uvedeny tučně za znakem dolar ($) a jejich případné výstupy následují.
 +
 
 +
  $ '''ls -ld .ssh'''
 
  drwx------. 2 milan.kerslager domain users 4096 17. lis 19.45 .ssh
 
  drwx------. 2 milan.kerslager domain users 4096 17. lis 19.45 .ssh
  $ ls -l .ssh/authorized_keys
+
  $ '''ls -l .ssh/authorized_keys'''
 
  -rw-------. 1 milan.kerslager domain users 410 17. lis 19.45 .ssh/authorized_keys
 
  -rw-------. 1 milan.kerslager domain users 410 17. lis 19.45 .ssh/authorized_keys
  $ cat .ssh/authorized_keys
+
  $ '''cat .ssh/authorized_keys'''
 
  ssh-rsa&nbsp;AAAAB3NzaC1yc2EAAAABJQAAAQEAlV/jUpgcyNmrw9bOn7OmUS0mc3GdGTRbPDMjLApeWItC11
 
  ssh-rsa&nbsp;AAAAB3NzaC1yc2EAAAABJQAAAQEAlV/jUpgcyNmrw9bOn7OmUS0mc3GdGTRbPDMjLApeWItC11
 
  TZO2NC96cgHXDl6V9w2ia3P79QBhWqK5DgeJfogJZLve7x2oSWBEUJufmm57DPN+FkwR5EtpRjyFibjy72PvQ88
 
  TZO2NC96cgHXDl6V9w2ia3P79QBhWqK5DgeJfogJZLve7x2oSWBEUJufmm57DPN+FkwR5EtpRjyFibjy72PvQ88
Řádka 82: Řádka 132:
 
  alHepnYrDL+bJYHsnmH1TXdabBrsuWEtK08cJUE6m4BUzG8h4GaMrw4rc3C+uQH/iKcC+z4TDsdwDXvD5yOrSv8
 
  alHepnYrDL+bJYHsnmH1TXdabBrsuWEtK08cJUE6m4BUzG8h4GaMrw4rc3C+uQH/iKcC+z4TDsdwDXvD5yOrSv8
 
  J9xWqCY13K/J+mNTG7yUB5ZO4tv5mapZqlQ==&nbsp;muj.email@seznam.cz-20211117
 
  J9xWqCY13K/J+mNTG7yUB5ZO4tv5mapZqlQ==&nbsp;muj.email@seznam.cz-20211117
  $ wc .ssh/authorized_keys
+
  $ '''wc .ssh/authorized_keys'''
 
   1  3 410 .ssh/authorized_keys
 
   1  3 410 .ssh/authorized_keys
 +
 +
<gallery>
 +
Soubor:PuTTY - menu.png|Otevřené menu v PuTTY
 +
Soubor:PuTTY - Event log.png|Event log v PuTTY
 +
</gallery>

Aktuální verze z 5. 1. 2024, 07:45

Pro bezpečné přihlášení do příkazového řádku (tj. textový režim) ke vzdálenému systému s Linuxem je obvykle nutné použít SSH (Secure Shell). Ve Windows 10 lze použít nástroj ssh v příkazovém řádku (CMD.exe) nebo lépe grafický nástroj PuTTY.

SSH

SSH (Secure Shell) je náhrada za nešifrovaný telnet. Vymyslel jej v roce 1995 na Technické univerzitě v Helsinkách (kde studoval i Linus Torvalds) student Tatu Ylönen poté, co byla ve školní síti rutinně odchytávána hesla spolužáků při připojování k serverům pomocí nástroje telnet. SSH využívá pro zabezpečení přenášených dat asymetrické šifrování a umožňuje použít asymetrickou šifru pro autentizaci (tj. využít veřejný a privátní klíč místo zadávání hesla).

Asymetrická šifra a autentizace

Asymetrická šifra používá dvojici klíčů. Jeden je obvykle nazýván privátní (utajený, chráněný heslovou frází) a druhý veřejný. Oba klíče (privátní a veřejný) je nutné generovat najednou, protože z jednoho nelze odvodit druhý. Pokud něco jedním klíčem zašifrujeme, rozšifrovat to lze jen druhým klíčem ze zmíněného páru. Pokud spolu asymetrickou šifrou komunikují dvě strany, mají obě k dispozici pár klíčů, takže dohromady jsou k dispozici 4 klíče. Pro bezpečnou komunikaci bezi stranou A (Alice) a B (Bob) se pak používá tzv. křížová šifra, kdy:

  1. strana A zašifruje zprávu svým privátním a veřejným klíčem strany B
  2. odešle zprávu
  3. strana B zprávu dešifruje svým privátním a veřejným klíčem strany A

Při tomto způsobu zabezpečení není nikdo schopen zprávu přečíst, změnit ani vytvořit za předpokladu, že nedojde ke kompromitaci (vyzrazení) privátních klíčů obou stran A a B. Je však nutné se ujistit, že veřejný klíč, který je použit ke šifrování/dešifrování opravdu patří protistraně (pomocí otisku klíče, podpisu v klíči nebo pomocí certifikační autority).

Instalace PuTTY

Ze stránky https://www.putty.org/ (odkaz vede na https://www.chiark.greenend.org.uk/) si stáhněte MSI soubor s PuTTY (64 nebo 32bitový podle vašich Windows) a nainstalujte. Společně s PuTTY jsou nainstalovány i pomocné nástroje (PuTTYgen, Pageant a další).

Použití PuTTY

Spusťte nástroj PuTTY (menu Start nebo klávesa Win - napište putty a klikněte). V dialogovém okně PuTTY uveďte název cílového stoje. Pro zjednodušení přihlašování lze uvést přihlašovací jméno před zavináč (nebude nutné ho po navázání zadávat, rovnou bude zobrazena otázka na heslo). Po kliknutí na levý horní roh okna PuTTY se objeví menu s možností změny některých nastavení u již navázaného spojení (Change settings...).

Kopírování v PuTTY probíhá podobně jako v Linuxu, tj. text se zkopíruje do schránky ihned po označení (není potřeba stisknout CTRL+c) a vkládání ze schránky (na místo kurzoru) se dělá pomocí klávesové zkratky SHIFT+Insert.

V PuTTY lze jednotlivé session ukládat včetně jejich (odlišného) nastavení. Nastavuje se obvykle:

  • Window
    • velikost okna (sloupce a řádky, PuTTY jejich počet ukazuje při změně velikosti okna)
    • Lines of scrollback (počet zapamatovaných řádků po odrolování v terminálu nahoru - zadejte klidně sto tisíc)
  • Window/Appearance
    • Font (bitmapový Fixedsys nelze zvětšovat, zvětšovat lze např. vektorový Courier New, nastavte vhodnou velikost)
  • Window/Behavior
    • System menu appears on ALT-Space (změnu nastavení lze ve fullscreen snadno vyvolat klávesovou zkratkou)
    • Full screen on Alt-Enter (znadné zvětšení terminálu přes celou obrazovku)
  • Window/Translation
    • Remote character set (v Linuxu je typicky použito UTF-8, ve starších instalacích to může být ISO-8859-2)
  • Connection
    • Seconds between keepalives (pokud se TCP spojení po nečinnosti přeruší, udržovat ho zasíláním prázdných zpráv, např. 30)
  • Session
    • Close window on exit (Only on clean exit - okno se automaticky zavře jen po odhlášení příkazem logout)
  • Session/Logging
    • pokud se nedaří přihlášení pomocí klíče, lze zapisovat ladící hlášení o úvodním handshake mezi PuTTY a serverem do logu

Generování klíčů pomocí PuTTYgen

Spusťte nástroj PuTTYgen (menu Start nebo klávesa Win - napište putty a vyberte PuTTYgen). Ponechte výchozí typ klíče (RSA) i délku klíče (2048). Délku klíče můžete prodloužit na 4096, ale není to nutné (generování bude trvat déle, klíč bude robusnější). Klikněte na tlačítko Generate a v případě potřeby pohybujte myší v šedé prázdné horní části okna (generování entropie) - při pohybu bude postupovat zelený ukazatel.

Po skončení generování se v horní části okna zobrazí veřejný klíč. Vyplňte Key comment (např. muj.email@seznam.cz-20211117) a Key passphrase (heslová fráze chránící privátní klíč), kterou musíte ještě zopakovat do políčka Confirm passphrase. Uložte privátní klíč kliknutím na tlačítko Save private key. Uložit ho můžete kamkoliv, zvolte popisné jméno (např. PuTTY-privatni-klic-muj.email@seznam.cz-2021-11-17.ppk). Volitelně můžete uložit veřejný klíč (nejlépe pod stejným jménem s příponou .TXT). Veřejný klíč je součástí PPK souboru s privátním klíčem a lze ho proto zpětně do PuTTYgen načíst (tlačítko Load). Můžete ho v horní části okna i označit myší a zkopírovat do schránky (klíč je zakódován do tisknutelných ASCII znaků, aby se dal snadno přenášet) - stačí na něj kliknout pravým tlačítkem, dát Vybrat vše a stisknout CTRL+c.

Veřejný klíč na Linux server

Po vygenerování páru klíčů je možné je použít pro přihlášení na vzdálený server. K tomu je potřeba umístit veřejný klíč na vzdáleném serveru do souboru ~/.ssh/authorized_keys (vlnka na začátku označuje domácí adresář uživatele, který se chce takto přihlašovat).

Spusťte program PuTTY a přihlašte se ke vzdálenému serveru. Přepněte se do svého domácího adresáře (příkaz cd), vytvořte adresář .ssh (příkaz mkdir) a nastavte oprávnění pro vstup do adresáře jen pro vlastníka (příkaz chmod):

cd
mkdir .ssh
chmod 700 .ssh

Vložení klíče pomocí cat

Zkopírujte si veřejný klíč do schránky (CTRL+c), spusťte příkaz cat, vložte obsah schránky vkládá na místo kurzoru kombinací kláves SHIFT+Insert a ukončete vstup pomocí CTRL+d a nastavte restriktivní oprávnění (číst může jen vlastník):

cat >> .ssh/authorized_keys
SHIFT+Insert  (vložení obsahu schánky)
CTRL+d        (ukončení vstupu)
chmod 600 .ssh/authorized_keys

Ověřit si obsah souboru můžete také příkazem cat:

cat .ssh/authorized_keys

Každý klíč musí být na jednom řádku (který může kvůli délce a velikosti okna přetékat přes více řádků), ale nebude v něm nikde umístěn Enter (přechod na nový řádek).

Vložení klíče pomocí editoru nano

Spusťte textový editor nano tak, aby editoval soubor ~/.ssh/authorized_keys:

nano .ssh/authorized_keys

V PuTTY se obsah schránky vkládá na místo kurzoru kombinací kláves SHIFT+Insert. Ukončení editoru s uložením obsahu souboru proveďte kombinací CTRL+x (viz nápověda v dolní části okna) – na otázky v dolní části obrazovky odpovídejte klávesami Y (případně N) a jméno souboru potvrďte klávesou Enter. Každý klíč musí být na jednom řádku, který může kvůli délce a velikosti okna přetékat přes více řádků, ale nebude v něm nikde umístěn Enter (přechod na nový řádek).

Nastavte restriktivní oprávnění (číst může jen vlastník):

chmod 600 .ssh/authorized_keys

Přihlášení pomocí klíčů

Nejjednodušší způsob přihlašování pomocí veřejného klíče (umístěného na cílovém vzdáleném serveru) je, že svůj privátní klíč načtete do aplikace Paegant, ze které si ho PuTTY při přihlašování načte. Výhodou tohoto postupu je, že do vypnutí počítače je klíč odemčený v aplikaci Paegant a můžete se opakovaně přihlašovat bez zadávání heslové fráze.

Spusťte program Pageant (klávesa Win - napište pageant a spusťte). Běžící Pageant se ukryje do System Tray (zobáček v pravé dolní části obrazovky u hodin). Na ikonu programu Pageant buď proveďte dvojklik a klikněte na tlačítko Add Key (nebo klikněte v System Tray na ikonu programu Pageant pravým tlačítkem myši a rovnou vyberte Add Key). Nalistujte uložený privátní klíč, potvrďte, vložte heslovou frázi chránící privátní klíč.

Spusťte program PuTTY a přihlašte se na vzdálený server, kde máte uložen veřejný klíč. Pokud je vše správně, nebudete dotázání na přihlašovací heslo.

Méně pohodlné je v PuTTY uvést v nastavení Connection → SSH → Auth → Private key for authentication, protože pak je potřeba odemykat privátní klíč heslovou frází při každém přihlášení (viz poslední obrázek výše).

Přihlášení klíčem nefunguje

Posloupnost příkazů v terminálu

Pokud přihlášení klíčem nefunguje, podívejte se do záznamu o přihlášení, tj. v menu Putty (klikněte levý horní roh okna PuTTY) zvolte v menu položku Event log a z jednotlivých hlášení zkuste vyčíst, s čím je problém. Velmi často jsou špatně nastavena oprávnění na vzdáleném serveru, kde je uložen veřejný klíč.

Na vzdáleném serveru zkontrolujte oprávnění na adresáři .ssh a souboru ~/.ssh/authorized_keys (příkazy ls, oprávnění pro adresář jsou znaky drwx- v levé části, pro soubor pak -rw). Zkontrolujte, jestli někde není překlep a jestli veřejný klíč není rozdělen klávesou Enter na více řádků (v editoru při pohybu šipkou doprava nesmí kurzor ukázat, že před pravým krajem obrazovky přešel na nový řádek, případně první číslo výstupu příkazu wc musí být jednička (tj. počet řádků, resp. počet klíčů v souboru). Veřejné klíče lze vypsat příkazem cat. V následujícím seznamu jsou zadané příkazy uvedeny tučně za znakem dolar ($) a jejich případné výstupy následují.

$ ls -ld .ssh
drwx------. 2 milan.kerslager domain users 4096 17. lis 19.45 .ssh
$ ls -l .ssh/authorized_keys
-rw-------. 1 milan.kerslager domain users 410 17. lis 19.45 .ssh/authorized_keys
$ cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAlV/jUpgcyNmrw9bOn7OmUS0mc3GdGTRbPDMjLApeWItC11
TZO2NC96cgHXDl6V9w2ia3P79QBhWqK5DgeJfogJZLve7x2oSWBEUJufmm57DPN+FkwR5EtpRjyFibjy72PvQ88
gjJpJAuC0VRFNZ+SZDBkH681Y8xNLn7Qy248gYQ/DDkvhO55z6XEMk+33DHzoAI0iJOAsCAn8i4h8gP/GOrNyOl
alHepnYrDL+bJYHsnmH1TXdabBrsuWEtK08cJUE6m4BUzG8h4GaMrw4rc3C+uQH/iKcC+z4TDsdwDXvD5yOrSv8
J9xWqCY13K/J+mNTG7yUB5ZO4tv5mapZqlQ== muj.email@seznam.cz-20211117
$ wc .ssh/authorized_keys
  1   3 410 .ssh/authorized_keys