Kuinka voin lisätä SSH-yksityisen avaimen pysyvästi Avaimenperään, jotta se on automaattisesti ssh: n käytettävissä?

Vaikuttaa siltä, että ssh-add -K ~/.ssh/id_rsa lataa avaimesi, mutta pyytää salasanaa joka kerta, kun käynnistät uudelleen.

Etsin ratkaisua, joka ei vaadi minun syöttävän avaimen salasanaa uudelleen kirjautumisten välillä.

Kommentit

  • Voi sanot vähän enemmän siitä, milloin salasanakehote tulee sinulle? Kysyn, koska minulla on etäpalvelimen ssh-avain, joka ei ole sama kuin Mac-kirjautumissalasanani tai mitään muuta, ja minun ei tarvitse antaa ' ssh-avaimen salasana vuosille . Voin vain avata päätelaitteen, kirjoittaa " ssh < palvelin > " ja minä ' m siellä. Luulen, että asetin tämän avaimen ensin OSX 10.5: n alla. id_dsa, mutta en mielestäni ' usko, että sillä pitäisi olla merkitystä.
  • id_rsa -avaimessani on salasana.
  • Minulla on myös ongelma, että olen ratkaissut tämän niin kauan sitten, että en voi ' muistaa tarkalleen mitä tein. Mutta mielestäni ajatuksena on ei ajaa ssh-add, vaan vain ajaa ssh suoraan. Sinun pitäisi avautua ikkuna, joka toimii avaimen salasanana, ja valintaruudun avulla voit tallentaa sen avaimenperääsi.
  • @Sorin – niin tekee myös minun! Minun piti kirjoittaa se kerran, kauan sitten, ja Mac on tallentanut sen minulle siitä lähtien. Toivottavasti Harald ' neuvot auttavat.
  • Tarkoitatko avaimenperän salasanaa (eli kirjautumissalasanasi) vai avainta ' s salasana? Jos se ' on jälkimmäinen, palautatko salasanasi ehdottomasti Avaimenperään? Voit tarkistaa tämän avaamalla avaimenperän käytön ja etsimällä sitä sisäänkirjautumisavaimesta.

Vastaa

OSX: ssä , alkuperäisellä ssh-add -asiakkaalla on erityinen argumentti yksityisen avaimen salasanan tallentamiseksi OSX-avaimenperään, mikä tarkoittaa, että tavallinen kirjautumistunnuksesi avaa sen lukituksen käytettäväksi ssh: n kanssa. ja myöhemmin, sinun on myös määritettävä SSH käyttämään aina avaimenperää (katso vaihe 2 alla).

Vaihtoehtoisesti voit käyttää avainta ilman salasanaa, mutta jos haluat turvallisuuden, joka on varmasti hyväksyttävä tämä työnkulku.

Vaihe 1 – Tallenna avain avaimenperään

Tee vain kerran:

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

Syötä avainsalasanasi, niin sinulta ei kysytä sitä uudelleen.

(Jos sinulla on OSX: n pre-Sierra-versio, olet valmis, vaihetta 2 ei vaadita.)

Vaihe 2 – Määritä SSH käyttämään aina avaimenperää

Vaikuttaa siltä, että OSX Sierra poisti kätevän avainten säilyttämisen kirjautumisten välillä, ja ssh-päivitys ei enää käytä avaimenperää oletusarvoisesti. Tämän vuoksi sinua pyydetään antamaan avaimen tunnuslause päivityksen jälkeen ja uudelleen jokaisen uudelleenkäynnistyksen jälkeen.

Ratkaisu on melko yksinkertainen, ja se on esitetty kohdassa tämä github-ketjun kommentti . Näin määritit sen:

  1. Varmista, että olet suorittanut yllä olevan vaiheen 1 tallentaaksesi avaimen avaimenperään.

  2. Jos et vielä ole, luo tiedosto ~/.ssh/config. Toisin sanoen tee kotisi hakemistoon .ssh tiedosto nimeltä config.

  3. Lisää seuraavat rivit .ssh/config -tiedostoon :

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

    Muuta ~/.ssh/id_rsa yksityisen avaimesi todelliseksi tiedostonimeksi. Jos sinulla on muita yksityisiä avaimia ~/.ssh -hakemisto, lisää myös jokaiselle heille IdentityFile -rivi. Minulla on esimerkiksi yksi ylimääräinen rivi, joka lukee IdentityFile ~/.ssh/id_ed25519 toiselle yksityiselle avaimelle.

    UseKeychain yes on avainosa, joka käskee SSH: tä etsimään avainta OSX-avaimenperästäsi tunnuslause.

  4. Siinä kaikki! Kun seuraavan kerran lataat minkä tahansa ssh-yhteyden, se yrittää määrittämiäsi yksityisiä avaimia ja etsii niiden salasanan OSX-avaimenperässä. Salasanan kirjoittamista ei vaadita.

Kommentit

  • @Poulsbo & @Abram – katso päivitykseni, Sierra muutti automaattista käyttäytymistä ja sinun on nyt suoritettava ssh-add -A manuaalisesti ladataksesi tallennetun avaimenperän. Joitakin edellä mainittuja mahdollisia ratkaisuja.
  • @trisweb Kiitos vinkistä. joshbuchea ' -sovellus .ssh/config -tiedoston muokkaamiseen näyttää lupaavalta! Katso github.com/lionheart/openradar-mirror/issues/…
  • Toimii hyvin!Minun piti käyttää A -lippua K -linkin lisäksi lisätäksesi avaimet avaimenperään ja rekisteröidä salasana se (ssh-add -AK ~/.ssh/[your-private-key]). Kiitos!
  • Jopa usekeychain-vaihtoehdon kanssa, huomaan silti, että avainnippuni pudottaa .ssh / id_rsa-avaimen uudelleenkäynnistyksen yhteydessä.
  • Tein täsmälleen saman ja Mac pudottaa edelleen avain uudelleenkäynnistyksen yhteydessä.

Vastaa

Minulla oli samanlainen ongelma, koska minulta kysyttiin joka kerta pub-key-salasanalleni. Yllä olevan käyttäjän ”trisweb” ehdotuksen mukaan otin nämä vaihtoehdot käyttöön ~/.ssh/config:

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

Mutta se kuitenkin kysyi aina, kun halusin käyttää ssh: tä. Lopulta otin käyttöön ssh -v ja löysin tämän virheenkorjausrivin:

debug1: key_load_private: incorrect passphrase supplied to decrypt private key 

Avasin avainnipun kohdassa Avaimenperä .app ”, löysi avaimen nimeltä” SSH: /Users/username/.ssh/id_rsa ”ja avasi sen. Napsauttamalla ”Näytä salasana” paljastan salasanan ja todellakin huomasin, että avaimenperän salasana oli vanha salasana. Päivitin salasanan Avainnipun käyttöoikeudessa ja nyt salasanavapaa toimii.

Olisin voinut päivittää salasanan myös tällä lauseella:

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

Kommentit

  • Mac-tietokoneellani salasana on tallennettu ”iCloud” -ketjun salasana-luokkaan. Luulin, että se oli ”sisäänkirjautumisketjussa”.

Vastaa

Kaikille, joissa yllä olevat eivät toimineet , ongelmani näyttää johtuvan siitä, että kopioin UseKeychain yes & AddKeysToAgent yes kaikissa ssh-avainprofiilit / pikavalinnat. Päivitin ~/.ssh/config -tiedostoni ilmoittaakseni nämä vain kerran, ja nyt ne kaikki latautuvat sisäänkirjautumisen yhteydessä pyytämättä salasanoja käynnistyksen yhteydessä, esim .:

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 

Kommentit

  • Suosittelen, että Host * olisi tiettyjen isäntäsääntöjen mukainen. Katso lisätietoja kohdasta man ssh_config.

Vastaa

Myös macOS Sierra ja HighSierra (älä tiedä edellisistä versioista), ssh-add -A -ajon suorittaminen saa agentin lataamaan kaikki avaimet, joiden tunnuslauseet on tallennettu avaimenperään … Joten erittäin kätevä

Vastaa

Lisää julkinen avain kansioon:

.ssh/known_hosts 

Julkinen avaimet ovat yleensä päällä:

/home/user/.ssh/id_rsa.pub 

Toivo, joka auttaa

Kommentit

  • Luulen tarkoittavan authorized_keys
  • joka tapauksessa, tämä ei toimi ', jos sinulla on enemmän kuin yksi avain!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *