Klíče SSH
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.puba 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.pubzkopí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
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ťtechmod 600 ~/.ssh/id_ed25519a poté znovu spusťte výše uvedený příkaz.
Pro macOS viz článek CodeX.
- ↑ 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