Hogyan nyithatom meg a nyilvános kulcsot egy SSH privát kulcsból?

373

A (z)ssh-keygen által generált SSH privát kulcs nyilvános kulcsrészt tartalmaz. Hogyan szerezhetem be ezt a nyilvános kulcsot a privát kulcsról? Elvesztettem a nyilvános kulcsomat, és fel kell tennem a nyilvános kulcs tartalmát aauthorized_keys kiszolgálón, és nem akarok új kulcspárt létrehozni.

Alternatív módon megfogalmazva: hogyan hozhatom létre aid_rsa.pub fájlt egyid_rsa fájlból?

    
készlet Lekensteyn 18.07.2011 11:57
forrás

2 válasz

580

Megtaláltam a választ a kiszolgálóhiba esetén: Nyilvános SSH kulcs létrehozása a privát kulcsból?

A-y opció a nyilvános kulcsot adja ki:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub

Oldaljegyként a nyilvános kulcs megjegyzése elveszett. Van egy olyan webhelyem, amely megkövetelte a megjegyzést (Launchpad?), Ezért szerkesztenie kell a~/.ssh/id_rsa.pub -ot, és hozzá kell csatolnia egy megjegyzést az első sorhoz, a szóköz és a kulcsadatok között. Egy példa nyilvános kulcs jelenik meg alulról.

ssh-rsa AAAA..../VqDjtS5 ubuntu@ubuntu

Az SSH-ügynökhöz hozzáadott kulcsok esetén (a háttérben futó program és a kulcsfájl-jelszó újbóli beírásának szükségességét újra és újra szükségessé téve) assh-add -L paranccsal listázhatja a nyilvános kulcsokat az ügynökhöz hozzáadott kulcsok esetén (ssh-add -l). Ez akkor hasznos, ha az SSH kulcsot intelligens kártyán tárolja (és a privát kulcsfájlhoz való hozzáférés nem lehetséges).

    
válasz adott Lekensteyn 18.07.2011 12:12
forrás
12

Ez a megoldás kifejezetten azoknak a felhasználóknak szól, akik Windows operációs rendszert használnak az SSH-ba a távoli gépeken, beleértve a felhőképeket az Amazon AWS és a GCE szolgáltatásban.

(Disclaimer)

Nemrég használtam ezt a megoldást távoli bejelentkezésre a GCE új telepített VM-képeire.

Használt eszközök:

  1. puttygen
  2. WinSCP

Végrehajtandó lépések:

  1. Hozzon létre nyilvános / privát kulcspárt a puttygen használatával.
  2. Nyilvános kulcs feltöltése a kiszolgálóra a felhőben vagy távoli helyen.

Leírás (hogyan kell csinálni):

  1. Kulcs / pár létrehozása vagy létező privát kulcs használata:

    Ha magánkulcs van:

    Nyissa meg a pipettát, nyomja meg a terhelés gombot, és válassza ki a privát kulcsot (* .pem).

    Ha nem rendelkezik egy privát kulccsal:

    • Nyissa meg a pipát,
    • Válassza ki a kívánt kulcs típusát SSH2 DSA (RSA vagy DSA) a Paraméterek szakaszban ... és fontos, hogy a jelszó mezőt üresen hagyja,
    • Nyomja meg a generálás és kövesse az utasításokat a (nyilvános / privát) kulcspár létrehozásához.

  2. Hozzon létre egy új 'authorized_keys' fájlt (a Jegyzettömb):

    Másolja át a nyilvános kulcsadatokat a PuTTY kulcsgenerátor "Public key for paste to OpenSSH authorized_keys fájl" részébe, és illessze be a kulcsadatokat az "authorized_keys" fájlba.

    Győződjön meg arról, hogy ebben a fájlban csak egy szövegsor van.

  3. Töltse fel a kulcsot egy Linux kiszolgálóra:

    • Nyissa meg a WinSCP-t,
    • Válassza ki az SFTP fájl protokollt, és jelentkezzen be az SSH hitelesítő adatokkal.
    • A sikernek köszönhetően megjelenik a saját könyvtár szerkezete a távoli gépen.

    Töltse fel az authorized_keys fájlt a távoli gép saját könyvtárába.

  4. Állítsa be a megfelelő engedélyeket:

    Készítsen.ssh könyvtárat (ha nem létezik)

    Másolja aauthorized_keys fájlt a .ssh könyvtárba (ez kicseréli a meglévőauthorized_keys fájlt, vegye figyelembe ezt).

    Ha a fájl létezik, egyszerűen csak adja hozzá a fájl tartalmát a meglévő fájlhoz.

    Futtasson parancsokat engedélyek beállításához:

    sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
    

Most már képes lesz ssh-nek egy távoli gépbe, anélkül, hogy beírnád a hitelesítő adatokat.

További olvasmány:

  1. SSH kulcsok generálása és feltöltése Windows alatt

  2. Hitelesítés jelszó nélkül az OpenSSH Kulcs, tanúsítványok .pem és .pub

válasz adott devprashant 20.11.2015 07:18
forrás