Hogyan tudom állandóan hozzáadni az SSH magánkulcsomat a Kulcstartóhoz, hogy az automatikusan elérhető legyen az ssh számára?

Úgy tűnik, hogy a ssh-add -K ~/.ssh/id_rsa betölti a kulcsot, de minden újraindításkor kéri a jelszót.

Olyan megoldást keresek, amelyhez nem kellene megadnom a kulcs jelszavát a bejelentkezések között.

Megjegyzések

  • mondasz egy kicsit többet arról, mikor jelenik meg a jelszó kérése? Azért kérdezem, mert van egy ssh-kulcsom egy távoli kiszolgálóhoz, amely biztos vagyok abban, hogy nem ugyanaz, mint a Mac bejelentkezési jelszavam, vagy bármi más, és nem kellett ' jelszó az ssh-kulcshoz évekre . Csak megnyithatok egy terminált, beírhatom az " ssh < kiszolgálót > ", és én ' m ott vagyok. Azt hiszem, először ezt a kulcsot állítottam be az OSX 10.5 alatt. id_dsa, de nem gondolom, hogy ennek számítania kell.
  • Az én id_rsa kulcsomon van jelszó.
  • Nekem is az a problémám, hogy ezt olyan régen megoldottam, hogy ' nem emlékszem pontosan arra, amit tettem. De azt gondolom, hogy nem futtatom ssh-add, hanem csak futtatom ssh közvetlenül. Meg kell kapnia egy olyan ablakot, amely megjelenik a kulcs jelszavaként, és egy jelölőnégyzettel, amely lehetővé teszi, hogy tárolja a kulcstartóban.
  • @Sorin – az enyém is! Egyszer, régen be kellett írnom, és a Mac azóta is megmentette nekem. Remélhetőleg Harald ' tanácsai segítenek.
  • A Kulcstartó jelszavára (azaz a bejelentkezési jelszavára) vagy a ' s jelszó? Ha ' ez utóbbi, újból feltétlenül tárolja a kulcstartóban tárolt jelmondatait? Ezt úgy ellenőrizheti, hogy megnyitja a Kulcstartó hozzáférést, és megkeresi a bejelentkezési kulcstartóban.

Válasz

OSX rendszeren , a natív ssh-add ügyfélnek van egy speciális argumentuma a privát kulcs jelmondatának az OSX kulcstartóba történő mentésére, ami azt jelenti, hogy a normál bejelentkezésed feloldja azt az ssh használatához. és később, akkor is be kell állítania az SSH-t, hogy mindig használja a kulcstartót (lásd az alábbi 2. lépést).

Alternatív megoldásként használhat kulcsot jelszó nélkül, de ha azt a biztonságot részesíti előnyben, amely minden bizonnyal elfogadható ezt a munkafolyamatot.

1. lépés – Tárolja a kulcsot a kulcstartóban

Csak egyszer tegye ezt:

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

Írja be a kulcs jelszavát, és nem fogják újra kérni.

(Ha az OSX Sierra előtti verzióját használja, akkor kész, a 2. lépés nem szükséges.)

2. lépés – Állítsa be az SSH-t, hogy mindig használja a kulcstartót

Úgy tűnik, hogy az OSX Sierra eltávolította a kulcsok folyamatos fenntartásának kényelmes viselkedését bejelentkezések között, és az ssh frissítése alapértelmezés szerint már nem használja a kulcstartót. Emiatt a frissítés után, majd minden újraindítás után a rendszer kéri a kulcs jelszavának megadását.

A megoldás meglehetősen egyszerű, és a ez a github szál megjegyzés . Itt állíthatja be:

  1. Győződjön meg arról, hogy a fenti 1. lépést elvégezte a kulcs kulcstartóban történő tárolásához.

  2. Ha még nem rendelkezik, hozzon létre egy ~/.ssh/config fájlt. Más szavakkal, az otthoni könyvtár .ssh könyvtárában egy config nevű fájlt.

  3. Ebben a .ssh/config fájlban adja hozzá a következő sorokat :

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

    Módosítsa a ~/.ssh/id_rsa szót a privát kulcsának tényleges fájlnevére. Ha más magánkulcs van a ~/.ssh könyvtár, adjon hozzá egy IdentityFile sort is mindegyikhez. Például van még egy sorom, amely a következőt írja: IdentityFile ~/.ssh/id_ed25519 egy 2. magánkulcshoz.

    A UseKeychain yes az a kulcsrész, amely utasítja az SSH-t, hogy az OSX kulcstartóban keresse meg a kulcsot jelszó.

  4. Ez az! Ha legközelebb bármilyen ssh kapcsolatot betölt, megpróbálja az Ön által megadott magánkulcsokat, és megkeresi a jelszavukat az OSX kulcstartóban. Jelszó beírása nem szükséges.

Megjegyzések

  • @Poulsbo & @Abram – lásd a frissítésemet, Sierra megváltoztatta az automatikus viselkedést, és most futtatnia kell ssh-add -A manuálisan a mentett kulcstartó betöltéséhez. Néhány lehetséges megoldás a fentiekben hivatkozva.
  • @trisweb Köszönjük a tippet. joshbuchea '.ssh/config fájl módosításának div> s megoldása ígéretesnek tűnik! Lásd: github.com/lionheart/openradar-mirror/issues/…
  • Remekül működik!Esetemben a A zászlót kellett használnom a K mellett, hogy hozzáadjam a kulcsaimat a kulcstartóhoz, és regisztrálja a jelszót a azt (ssh-add -AK ~/.ssh/[your-private-key]). Köszönöm!
  • Még a usekeychain opció mellett is úgy találom, hogy a kulcstartóm újraindításkor eldobja az .ssh / id_rsa kulcsot.
  • Pontosan ugyanezt tettem, és a Mac-em is kulcs újraindításkor.

Válasz

Hasonló problémám volt, mivel tőlem kérdeztek minden alkalommal a pub-key jelszóhoz. A fenti “trisweb” felhasználó javaslata szerint bekapcsoltam ezeket a lehetőségeket: ~/.ssh/config:

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

De még mindig ösztönözte, amikor az ssh-t akartam használni. Végül bekapcsoltam a ssh -v -t, és megtaláltam ezt a hibakeresési sort:

debug1: key_load_private: incorrect passphrase supplied to decrypt private key 

Ezután megnyitottam a kulcstartómat a “Kulcstartó hozzáférés” részben .app “, megtalálta az” SSH: /Users/username/.ssh/id_rsa “nevű kulcsot, és kinyitotta. A “Jelszó megjelenítése” gombra kattintva elárultam a jelszót, és valóban megállapítottam, hogy a kulcskarikában szereplő jelszó régi jelszó. Frissítettem a jelszót a Kulcstartó hozzáférésben, és most már jelszó nélkül működik.

A jelszót is frissíthettem volna ezzel a mondattal:

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

Megjegyzések

  • A Mac gépemen a jelszó az „iCloud” lánc „jelszó” kategóriájába kerül. Azt hittem, hogy „bejelentkezési” láncban van.

Válasz

Mindazokra, ahol a fentiek nem működtek , úgy tűnik, hogy a problémám azért volt, mert a UseKeychain yes & AddKeysToAgent yes fájlt másoltam ssh kulcsprofilok / parancsikonok. Frissítettem a ~/.ssh/config fájlomat, hogy ezeket csak egyszer deklaráljam, és ezek mind betöltődnek a bejelentkezéskor anélkül, hogy indításkor jelszavakat kérnének, pl .:

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 

Megjegyzések

  • Azt javaslom, hogy a Host * legyenek meghatározott gazdagép-szabályok után. A részletekért lásd: man ssh_config.

Válasz

Is, itt: A macOS Sierra és a HighSierra (nem ismeri a korábbi verziókat), a ssh-add -A futtatásával az ügynök betölti az összes kulcsot, amelynek jelszavait a Kulcstartó tárolja … Nagyon hasznos

Válasz

A nyilvános kulcs hozzáadása a következőhöz:

.ssh/known_hosts 

Nyilvános kulcs általában be van kapcsolva:

/home/user/.ssh/id_rsa.pub 

Remélem, hogy segít

Megjegyzések

  • Szerintem a authorized_keys
  • mindenesetre ez nem működik, ha egynél több kulcsod van! <

/ li>

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük