ssh-copy-id versus manual copy id_rsa.pub (Magyar)

Egyik napról a másikra a vállalati szerver elkezdte tőlem kérni az SSH jelszavamat.

Első lépésként azt ellenőriztem, hogy a kulcsom a szerver .ssh/authorized_keys oldalán található-e. A kulcsom bent volt, semmi sem változott. Szintén a /etc/ssh/sshd_config részben semmi sem változott.

Ezután megpróbáltam ezt az eljárást frissen végrehajtani telepített Ubuntu16 szerver. Az öt lépés elvégzése után az új szerver ismételten SSH jelszót kért tőlem.

A ssh-copy-id paranccsal végre sikerült elérni a kulcs nélküli SSH bejelentkezést, de azt vettem észre, hogy .ssh/authorized_keys három sora van: az egyik ssh-dss és 2x ssh-rsa

kezdetű

Most emlékszem, hogy a fenti linkből származó 5 lépéses eljárás a múltban csak egy kulccsal működött.

Változott valami a közelmúltban? Miért nem működik többé a fenti eljárás?

Szerkesztés: Mivel a ssh-copy-id összesen 3 kulcsot másol .ssh/authorized_keys ezekbe a kulcsokba a következő fájlokban található:

~/.ssh/id_dsa

~/.ssh/sshkey.pub

~/.ssh/id_rsa.pub

ezért soronként töröltem a távoli “s .ssh/authorized_keys fájlból

törölve ~/.ssh/id_dsa sor – az automatikus bejelentkezés sikeres volt

törölve ~/.ssh/id_rsa.pub sor – az automatikus bejelentkezés sikerült

törölve ~/.ssh/sshkey.pub sor – automatikus bejelentkezés nem sikeres – jelszót kért

Csak a (z) ~/.ssh/sshkey.pub forrásból származó tartalom szükséges. Miért hasonlítja az SSH a sshkey.pub és nem id_rsa.pub, mint az online bemutató példában?

Megjegyzések

  • Természetesen nem a authorised_keys fájl alapvető változásai miatt, vagy én egy nap arra ébredtem, hogy egy csomó gépből kizártam magam.
  • milyen kulcsot és hány bitet? a ' szerver, amelynek problémái vannak, magasabb színvonalú lehet, valószínűleg az sshd frissítésének köszönhetően. 1024 bites RSA-t korábban elfogadhatónak tekintettek. manapság 2048 vagy 4096 bitesre van szükség.
  • emellett kérjük, adja hozzá kérdéséhez a ssh -v your-remote-server kimenetet.
  • Megvan még a 640 zászló a hitelesített kulcsokon vagy valami korlátozóbb (600)?

Válasz

Úgy tűnik, hogy ssh-copy-id csupán kényelmi funkció. Ellenőrzi, hogy a kulcsokat már exportálták-e a gépre, létrehozza a .ssh könyvtárat, ha szükséges, de alapvetően csak hozzáadja a nyilvános kulcsokat a .ssh/authorized_keys . A ssh-copy-id egy shell szkript (az openssh-ben), így a kódját (vi `which ssh-copy-id`) elolvashatja a végén:

[ "$DRY_RUN" ] || printf "%s\n" "$NEW_IDS" | \ ssh "$@" "exec sh -c "cd ; umask 077 ; mkdir -p .ssh && { [ -z ""`tail -1c .ssh/authorized_keys 2>/dev/null`"" ] || echo >> .ssh/authorized_keys ; } && cat >> .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi"" \ || exit 1 

A hitelesítés során csak a authorized_keys elemeket ellenőrizzük. Az openssh dokumentációból :

A ~ / .ssh / Authorized_keys fájl felsorolja a nyilvánosságot a belépéshez engedélyezett kulcsok. Amikor a felhasználó bejelentkezik, az ssh program megmondja a szervernek, hogy melyik kulcspárt szeretné használni a hitelesítéshez. Az ügyfél bebizonyítja, hogy hozzáfér a privát kulcshoz, és a szerver ellenőrzi, hogy a megfelelő nyilvános kulcs jogosult-e a fiók elfogadására.

Remélem, hogy válaszol kérdésed címe “ssh-copy-id versus manual copy id_rsa.pub”. Ez a fájl ~/.ssh/sshkey.pub nincs, ezért remélem, hogy maga megoldotta a telepítéssel kapcsolatos problémákat. Egyébként igen, egyszerűen másolhatja a nyilvános kulcsot ide: authorized_keys nem használja a ssh-copy-id alkalmazást.

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