Jak mohu trvale přidat svůj soukromý klíč SSH do Klíčenky, aby byl automaticky k dispozici ssh?

Zdá se, že ssh-add -K ~/.ssh/id_rsa načte váš klíč, ale při každém restartu bude vyžadovat heslo.

Hledám řešení, které by nevyžadovalo, abych mezi přihlašovacími údaji znovu zadával klíčové heslo.

Komentáře

  • Může řeknete trochu víc o tom, kdy pro vás přijde výzva k zadání hesla? Ptám se, protože mám klíč ssh pro vzdálený server, o kterém se ujišťuji, že není stejný jako moje přihlašovací heslo pro Mac nebo cokoli jiného, a ' jsem nemusel vstoupit do heslo pro ssh-key po dobu let . Mohu jen otevřít terminál, zadejte " ssh < server > " a já jsem ' tam. Myslím, že jsem tento klíč nejprve nastavil pod OSX 10.5. id_dsa, ale ' si nemyslím, že by to mělo záležet.
  • Můj klíč id_rsa má heslo.
  • Mám také problém, který jsem vyřešil tak dávno, že si ' nepamatuji přesně, co jsem udělal. Ale myslím myšlenka je ne spustit ssh-add, ale jen spustit ssh přímo. Mělo by se zobrazit okno, které se zobrazí jako přístupová fráze pro klíč, a se zaškrtávacím políčkem, které vám umožní uložit jej do klíčenky.
  • @Sorin – stejně jako moje! Musel jsem to zadat jednou, dávno, a Mac mi to od té doby uložil. Doufejme, že Harald ' rada pomůže.
  • Myslíte heslo ke klíčence (tj. Vaše přihlašovací heslo) nebo klíč ' s přístupová fráze? Pokud ' to druhé, jsou vaše přístupové fráze definitivně uloženy v Keychain? Můžete to zkontrolovat otevřením Keychain Access a vyhledáním v přihlašovací klíčence.

Odpověď

V OSX , nativní ssh-add klient má speciální argument pro uložení přístupové fráze soukromého klíče do klíčenky OSX, což znamená, že vaše běžné přihlášení jej odemkne pro použití s ssh. Na OSX Sierra a později musíte také nakonfigurovat SSH, aby vždy používalo klíčenku (viz krok 2 níže).

Alternativně můžete použít klíč bez přístupové fráze, ale pokud dáváte přednost zabezpečení, které je určitě přijatelné pro tento pracovní postup.

Krok 1 – Uložení klíče do klíčenky

Stačí to udělat jednou:

ssh-add -K ~/.ssh/[your-private-key] 

Zadejte svou klíčovou přístupovou frázi a již vás o ni nebude požádáno.

(Pokud používáte předsierrovskou verzi OSX, jste hotovi, krok 2 není vyžadován.)

Krok 2 – Konfigurace SSH tak, aby vždy používala klíčenku

Zdá se, že OSX Sierra odstranila pohodlné chování přetrvávajících klíčů mezi přihlašovacími údaji a aktualizací na ssh již klíčenka ve výchozím nastavení nepoužívá. Z tohoto důvodu budete po upgradu a znovu po každém restartu vyzváni k zadání přístupové fráze pro klíč.

Řešení je poměrně jednoduché a je uvedeno v tento komentář vlákna github . Takto to nastavíte:

  1. Ujistěte se, že jste dokončili výše uvedený krok 1, abyste klíč uložili do klíčenky.

  2. Pokud ještě nemáte, vytvořte ~/.ssh/config soubor. Jinými slovy v adresáři .ssh ve vašem domovském adresáři vytvořte soubor s názvem config.

  3. Do tohoto .ssh/config souboru přidejte následující řádky :

     Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa 

    Změňte ~/.ssh/id_rsa na skutečný název vašeho soukromého klíče. Pokud máte v soukromém klíči jiné soukromé klíče ~/.ssh adresář, pro každý z nich také přidejte řádek IdentityFile. Například mám jeden další řádek, který čte IdentityFile ~/.ssh/id_ed25519 pro druhý soukromý klíč.

    UseKeychain yes je klíčová část, která říká SSH, aby hledal klíč ve vaší klíčence OSX přístupové heslo.

  4. To je vše! Až příště načtete jakékoli připojení ssh, vyzkouší soukromé klíče, které jste zadali, a vyhledá jejich přístupovou frázi v klíčence OSX. Není nutné zadávat žádné heslo.

Komentáře

  • @Poulsbo & @Abram – viz moje aktualizace, Sierra změnila automatické chování a nyní musíte spustit ssh-add -A ručně načtěte uloženou klíčenku. Některá možná řešení jsou uvedena výše.
  • @trisweb Děkujeme za tip. joshbuchea ' s řešení úpravy .ssh/config vypadá slibně! Viz github.com/lionheart/openradar-mirror/issues/…
  • Funguje skvěle!V mém případě jsem potřeboval kromě příznaku K použít A příznak, abych přidal své klíče do klíčenky a zaregistroval přístupovou frázi do it (ssh-add -AK ~/.ssh/[your-private-key]). Díky!
  • I s možností usekeychain stále zjišťuji, že moje klíčenka při restartu zruší klíč .ssh / id_rsa.
  • Udělal jsem přesně to samé a můj Mac stále upustil klíč při restartu.

Odpověď

Měl jsem podobný problém, protože jsem byl požádán pokaždé pro moji přístupovou frázi pro klíč od hospody. Na výše uvedený návrh uživatele „trisweb“ jsem zapnul tyto možnosti na ~/.ssh/config:

Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa 

Ale stále to vyvolalo pokaždé, když jsem chtěl použít ssh. Nakonec jsem zapnul ssh -v a našel jsem tento ladicí řádek:

debug1: key_load_private: incorrect passphrase supplied to decrypt private key 

Poté jsem otevřel klíčenku v „Keychain Access“ .app „, našel klíč s názvem“ SSH: /Users/username/.ssh/id_rsa „a otevřel jej. Kliknutím na „Zobrazit heslo“ jsem heslo prozradil a skutečně jsem zjistil, že přístupová fráze v klíčence byla stará přístupová fráze. Aktualizoval jsem přístupovou frázi v Keychain Access a nyní funguje bez hesla.

Mohl jsem také aktualizovat přístupovou frázi pomocí této fráze:

ssh-keygen -p -f ~/.ssh/id_rsa 

Komentáře

  • V mém počítači Mac je heslo uloženo v kategorii „heslo“ řetězce „iCloud“. Myslel jsem, že je to v řetězci „přihlášení“.

Odpověď

Všem, kde výše uvedené nefungovalo , zdá se, že můj problém byl, protože jsem duplikoval celkem UseKeychain yes & AddKeysToAgent yes profily / klávesové zkratky ssh. Aktualizoval jsem svůj ~/.ssh/config soubor, abych je deklaroval pouze jednou a všechny se nyní načtou při přihlášení bez výzvy k zadání hesla při spuštění, např .:

Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/foo IdentityFile ~/.ssh/bar Host foo HostName foo.com User fooUser IdentityFile ~/.ssh/foo Host bar HostName bar.com User barUser IdentityFile ~/.ssh/bar 

Komentáře

  • Doporučuji Host * dodržovat konkrétní pravidla hostitele. Podrobnosti viz man ssh_config.

Odpověď

Také v macOS Sierra a HighSierra (nevíte o předchozích verzích), spuštění ssh-add -A přiměje agenta načíst všechny klíče, jejichž přístupové fráze jsou uloženy na klíčence … Takže velmi užitečné

Odpověď

Přidejte veřejný klíč do:

.ssh/known_hosts 

Veřejný klíč je obvykle zapnutý:

/home/user/.ssh/id_rsa.pub 

Doufám, že to pomůže

Komentáře

  • Myslím, že tím authorized_keys
  • to každopádně nefunguje ' pokud máte více než jeden klíč!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *