Ušetřete čas přihlašováním do GitHubu přes SSH pomocí ověřování bez hesla.
Ověřování pomocí GitHubu obvykle zahrnuje použití přístupového tokenu nebo hesla. Tyto metody však mohou být nepohodlné a nejisté, zejména při přístupu na GitHub z více zařízení.
GitHub poskytuje možnost použít k ověřování Secure Shell (SSH). SSH představuje zabezpečený síťový protokol pro vzdálený přístup ke stroji. Tato funkce se osvědčuje zejména v situacích, které vyžadují automatizaci nebo častý vzdálený přístup.
Pochopení autentizace SSH
Autentizace pomocí SSH zahrnuje použití kryptografické klíče k vytvoření zabezpečeného připojení (tunelu) mezi klientem (místním počítačem) a serverem (GitHub).
Při použití SSH pro GitHub uživatel vygeneruje pár klíčů SSH – veřejný klíč a soukromý klíč. Veřejný klíč je nahrán na účet uživatele GitHub, zatímco soukromý klíč zůstává bezpečně uložen na místním počítači uživatele.
Proces lze přirovnat ke konceptu zámku a klíče. Veřejný klíč (zámek) je určen k otevřenému sdílení a bezpečnému uložení na straně serveru. Slouží jako protějšek soukromého klíče a umožňuje serveru ověřit identitu vašeho místního počítače. Naopak soukromý klíč (klíč) funguje jako jedinečný identifikátor uložený výhradně na vašem místním počítači, což umožňuje úspěšné ověření se serverem.
Během ověřování pomocí GitHubu váš místní počítač předloží svůj soukromý klíč jako důkaz identity. Server zkontroluje, zda se odpovídající veřejný klíč spojený s vaším účtem GitHub shoduje s daným soukromým klíčem. Pokud se klíče shodují, server udělí přístup a vytvoří šifrované a zabezpečené připojení pro komunikaci.
Nastavení SSH pro GitHub
V této části uvidíte, jak nastavit SSH pro ověřování pomocí GitHubu.
1. Generování páru klíčů SSH
Proces generování páru klíčů SSH je prvním krokem k využití SSH pro autentizaci.
- Otevřete terminál nebo příkazový řádek.
- Pro vygenerování nového páru klíčů SSH spusťte následující příkaz:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
- Budete vyzváni k zadání umístění souboru pro uložení páru klíčů. lis Vstupte přijmout výchozí umístění (~/.ssh/id_rsa) nebo zadat vlastní umístění.
> Generování páru klíčů veřejný/soukromý rsa.
> Zadejte soubor vkterý pro uložení klíče (/home/vagrant/.ssh/id_rsa): - Dále budete požádáni o zadání přístupové fráze. Ačkoli je volitelné, přidání přístupové fráze slouží jako další úroveň zabezpečení. Ujistěte se, že si svou přístupovou frázi pamatujete.
> Zadejte přístupové heslo (prázdné pro žádná přístupová fráze):
> Zadejte znovu stejné přístupové heslo: - Po vygenerování páru klíčů byste měli vidět dva soubory v určeném umístění. id_rsa (soukromý klíč) a id_rsa.pub (veřejný klíč).
> Vaše identifikace byla uložena v /home/vagrant/.ssh/id_rsa.
> Váš veřejný klíč byl uložen v /home/vagrant/.ssh/id_rsa.pub. - Po dokončení se zobrazí otisk prstu klíče a obrázek náhodného obrázku.
- Nakonec budete potřebovat obsah veřejného klíče, který chcete přidat na GitHub. Chcete-li získat obsah, spusťte následující příkaz:
kočka ~/.ssh/id_rsa.pub
Nezapomeňte zadat cestu (v mém případě ~/.ssh/id_rsa.pub), kterou jste použili při vytváření klíčů.
Zkopírujte obsah na bezpečné a dočasné místo pro pozdější použití.
2. Přidání veřejného klíče na GitHub
Nyní, když jste vygenerovali pár klíčů SSH, musíte přidat veřejný klíč do svého účtu GitHub.
- Přihlaste se ke svému účtu GitHub a přejděte do svého účtu Nastavení.
- Klikněte na SSH a GPG klíče umístěný na levém postranním panelu.
- Klikněte na Nový klíč SSH.
- Dejte svůj klíč SSH a Titul.
- Vložte obsah veřejného klíče do Klíč pole.
- Nakonec klikněte na Přidejte klíč SSH pro uložení klíče SSH do vašeho účtu GitHub.
Pomocí nich jste úspěšně exportovali veřejný klíč do svého účtu GitHub.
3. Konfigurace agenta SSH
Agent SSH je program, který pomáhá spravovat klíče SSH a poskytuje bezpečný způsob jejich ukládání a používání. Funguje jako prostředník mezi vaším místním počítačem a vzdáleným serverem během ověřování SSH. To vám umožní spravovat více klíčů SSH pro různé účty GitHub.
- Ujistěte se, že je spuštěn agent SSH.
$ eval"$(ssh-agent -s)"
> Agent pid 2757 - Přidejte soukromý klíč k agentovi SSH.
$ ssh-add ~/.ssh/id_rsa
> Zadejte přístupové heslo pro /home/vagrant/.ssh/id_rsa:
> Přidána identita: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa)
Úspěšně jste nakonfigurovali agenta SSH pro správu vašich klíčů.
4. Testování připojení SSH
Nyní můžete otestovat, zda je vaše připojení SSH nastaveno správně, a můžete se ověřit na GitHubu pomocí SSH.
- Spusťte níže uvedený příkaz a otestujte připojení SSH ke GitHubu;
pokud vše proběhne v pořádku, zobrazí se varování týkající se otisku prstu. Potvrďte otisk prstu a zadejte Ano pokračovat.ssh -T [email protected]
> Autenticita hostitele 'github.com (140.92.130.4)' umětnebýt založen.
> Otisk klíče ECDSA je SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
> Opravdu chcete? pokračovat připojení (ano/ne)? - Při psaní Ano, uvidíte výstup podobný tomu níže.
> Varování: Trvale přidáno 'github.com, 140.92.130.4' (ECDSA) do seznamu známých hostitelů.
> Ahoj princewillingoo! Vy'úspěšně ověřeno, ale GitHub neposkytuje přístup k shellu.
To ukazuje, že ověření bylo úspěšné.
Správa úložišť pomocí SSH
Konfigurace SSH vám umožní spravovat vaše úložiště, aniž byste se museli starat o problémy s hesly a přístupovými tokeny.
Nastavení vzdálené adresy URL
dálkové ovládání git soubor-původ adresy URL [email protected]:/.git
Klonování úložiště
git klon [email protected]:/.git
Odeslání změn do úložiště
git push původ
Stahování změn z úložiště
původ git pull
Výhody SSH Over Password Authentication
Použití SSH pro autentizaci nabízí několik pozoruhodných výhod oproti tradičním autentizačním metodám založeným na hesle. To zahrnuje:
- Autentizace SSH eliminuje potřebu hesel a snižuje riziko krádeže přihlašovacích údajů.
- Díky použití kryptografických klíčů je vůči nim imunnější útoky hrubou silou ve srovnání s hesly.
- Pokud je váš soukromý klíč kompromitován, můžete jej odvolat a nahradit, čímž se kompromitovaný klíč stane nepoužitelným.
Z tohoto důvodu bývá autentizace SSH lepší volbou ve srovnání s ověřováním heslem.
Doporučené postupy a odstraňování problémů
Pro zajištění hladkého a bezpečného nastavení SSH je nutné dodržovat osvědčené postupy a být si vědomi běžných problémů, které mohou nastat, a způsobů jejich řešení.
- Vždy nastavte přístupovou frázi, abyste vytvořili další vrstvu zabezpečení.
- Procvičujte si časté střídání klíčů a zálohování.
- Potvrďte každý krok, abyste se vyhnuli chybám oprávnění nebo nesprávné konfiguraci agenta SSH.
Dodržováním těchto osvědčených postupů můžete s jistotou využívat ověřování SSH pro GitHub.
Všestrannost SSH
SSH se široce používá v jiných oblastech pro vzdálenou správu serverů, mikrokontrolérů a síťových zařízení, protože umožňuje bezpečný přístup do rozhraní příkazového řádku (CLI), což uživatelům umožňuje provádět různé úkoly, konfigurovat nastavení, přenášet soubory a odstraňovat problémy problémy.