Ú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
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:
-
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.
-
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 egyconfig
nevű fájlt. -
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á egyIdentityFile
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ó. -
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 ' A
.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 aK
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>
id_rsa
kulcsomon van jelszó.ssh-add
, hanem csak futtatomssh
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.