Jump to content

Klíče SSH

From mediawiki.org
This page is a translated version of the page SSH keys and the translation is 100% complete.

Klíče SSH jsou nutné pro přihlášení k serverům Gerrit a GitLab , na které je možné odeslat kód.

Generování nového SSH klíče

Pokud ještě nemáte v účtu /.ssh nějaký vytvořte, postupujte podle níže uvedených pokynů. Abychom se ujistili, zda potřebujete vygenerovat zcela nový klíč, zkontrolujme, zda ve vašem systému již existuje SSH klíč. Spusťte tento příkaz v terminálu:

ls ~/.ssh

Příkaz vypíše soubory, které se nacházejí ve (skrytém) adresáři .ssh. Pokud adresář již ve vašem systému existuje a pokud výstup uvádí soubor s názvem id_ed25519.pub, můžete přejít přímo na #Zkopírujte svůj veřejný klíč SSH.

Chcete-li vygenerovat nový SSH klíč, otevřete terminál a zadejte níže uvedený příkaz, kde nahraďte user@example.com svou vlastní e-mailovou adresou. Chceme výchozí nastavení, takže když budete vyzváni k zadání souboru, do kterého se má klíč uložit, stačí stisknout ↵ Enter.

ssh-keygen -t ed25519 -C "user@example.com"

Zadejte silné a jedinečné přístupové heslo a stiskněte klávesu ↵ Enter.

Proč jsou hesla důležitá?
Hesla nejsou moc bezpečná. Pokud použijete takové, které se snadno zapamatuje, je snazší ho uhodnout nebo použít hrubou sílu . Pokud použijete náhodné heslo, je těžké si ho zapamatovat, takže si ho můžete zapsat. Obě jsou velmi špatné. Proto používáte ssh klíče. Ale použití ssh klíče bez hesla je v podstatě stejné jako zapsání náhodného hesla do souboru v počítači. Každý, kdo získá přístup k vašemu disku, získá přístup ke všem systémům, se kterými tento klíč používáte. Proto také přidáváte heslo. Abyste nezadávali dlouhé heslo pokaždé, když používáte klíč, existuje nástroj s názvem ssh-agent. Může bezpečně uložit vaši přístupovou frázi. Pokud používáte macOS nebo Linux, můžete si klíče uložit do svazku klíčů systému, což vám život ještě více usnadní.

Příkaz ssh-keygen vytvoří 2 soubory v adresáři ~/.ssh:

  • ~/.ssh/id_ed25519 – váš soukromý SSH klíč (pro identifikaci)
  • ~/.ssh/id_ed25519.pub – váš veřejný SSH klíč


Zkopírujte si svůj veřejný klíč SSH

Získejte obsah souboru s veřejným klíčem (např. id_ed25519.pub) a zkopírujte ho do schránky:

Jednou z možností je otevřít soubor s veřejným klíčem pomocí vašeho oblíbeného textového editoru (Poznámkový blok, TextEdit, gedit atd.). V dialogovém okně pro výběr souborů v textovém editoru budete možná muset zapnout možnost "Zobrazit skryté soubory", abyste soubor našli, protože adresář .ssh je skrytý. Někdy je možnost "Zobrazit skryté soubory" dostupná kliknutím pravým tlačítkem myši v dialogovém okně pro výběr souborů.

Další možnosti jsou:

  • V Linuxu spusťte cat ~/.ssh/id_ed25519.pub a ručně zkopírujte výstup do schránky.
  • Ve Windows můžete otevřít grafické rozhraní Gitu, přejít na Nápověda 🡒 Zobrazit klíč a poté stisknout "Kopírovat do schránky" pro zkopírování veřejného klíče do schránky.
  • V systému macOS můžete spuštěním příkazu pbcopy < ~/.ssh/id_ed25519.pub zkopírovat obsah souboru s veřejným klíčem do schránky.

Je důležité, abyste si svůj veřejný klíč SSH zkopírovali přesně tak, jak je napsán, bez přidání nových řádků nebo mezer. Zkopírujte celý text, včetně předpony "ssh-ed25519", samotného klíče a přípony e-mailové adresy.

Přidat soukromý klíč SSH pro použití s ​​Gitem

Služba SSH agenta musí být spuštěná a váš soukromý klíč SSH musí být k ní přidán pokaždé, když se chcete připojit k serveru Git. To znamená, že pokud po spuštění těchto příkazů zavřete Git Bash ve Windows, budete je muset spustit znovu při příštím otevření Git Bash pro opětovné přihlášení. Jinak se při pokusu o odeslání kódu zobrazí chyba Permission denied (oprávnění zamítnuto).

Spusťte příkazový řádek Git Bash.

  • Spusťte službu ssh-agent
eval `ssh-agent`
Ujistěte se, že používáte diakritiku `, nikoli jednoduchou uvozovku '. (Pokud tento speciální znak nemůžete snadno zadat, můžete jej zkopírovat a vložit z této stránky.) Všimněte si také, že pokud v Linuxu používáte alternativní shell (například Fish shell), nemusí tento příkaz fungovat. Přechod na Bash problém vyřeší.
  • Přidejte svůj soukromý klíč k agentovi.[1] Pokud jste postupovali podle výše uvedených kroků a váš klíč má výchozí název id_ed25519, pak je příkaz:
ssh-add ~/.ssh/id_ed25519
Pokud se zobrazí chyba WARNING: UNPROTECTED PRIVATE KEY FILE! (varování: nechráněný soubor s privátním klíčem), spusťte chmod 600 ~/.ssh/id_ed25519 a poté znovu spusťte výše uvedený příkaz.

Pro macOS viz článek CodeX.

  1. Pokud se vám jako uživateli Ubuntu zobrazuje zpráva "Permission denied (publickey)" (oprávnění zamítnuto (veřejný klíč)), podívejte se prosím na tuto stránku nápovědy