Mi a teendő, ha a kulcsalapú hitelesítés nem működik az ssh-copy-id után

Nemrég rendelkeztem egy Ubuntu virtuális magánszerverrel (VPS) a Vultr-on. Magam is részleges vagyok a CentOS-nál, de az a feladat, amin dolgoztam, ajánlotta az Ubuntut.

A kulcsalapú hitelesítés beállításához a laptopomról a szerverre,

  • A következő paranccsal hoztam létre egy új SSH kulcspárot („ubuntu” néven) a Mac gépemen: ssh-keygen -t rsa -b 4096
  • Ezután a ssh-copy-idsegédprogrammal átmásoltam a nyilvános kulcsomat authorized_keysa Vultr VPS-en lévő fájlba:ssh-copy-id -i .ssh/ubuntu [email protected]

Ahogy számítottam rá, a segédprogram a nyilvános kulcs átadásának befejezéséhez kérte a VPS jelszavamat. Amikor minden elkészült, megpróbáltam bejelentkezni a VPS-re.

Jelszóigény nélkül kellett volna átengednie:

ssh -i .ssh/ubuntu [email protected]

De folyamatosan kaptam jelszó megadását. ?

  • Ellenőriztem authorized_keysa fájlomat a VPS-en, hogy megbizonyosodjak arról, hogy a nyilvános kulcsomat helyesen másolták-e át. Jelölje be. ??
  • Gondoskodtam arról, hogy a fájlt csak magamnak és senki másnak olvashassam-írhassam. Jelölje be. ??
  • Győződtem meg arról, hogy a következő opciók engedélyezve voltak /etc/ssh/sshd_config: PubkeyAuthentication yesés AuthorizedKeysFile .ssh/authorized_keys. Jelölje be. ??

Ennek ellenére a laptopomról történő bejelentkezéskor folyamatosan jelszót kértem.

Néhány perc múlva a StackOverflow-on megismertem a Titkosított Otthoni Könyvtárakat, amelyek alapértelmezettek bizonyos környezetekben, beleértve az Ubuntut is.

A titkosított otthoni könyvtárakat csak addig lehet visszafejteni, amíg az első bejelentkezés sikeres. A authorized_keysfájlom azonban a saját könyvtáramban van tárolva.

Ezért az első csatlakozási kísérletemhez jelszóra lesz szükség. A későbbi kapcsolatok jelszó nélkül sikeresek lesznek, mivel az SSH szolgáltatás képes lesz olvasni authorized_keysa fájlomat a visszafejtett otthoni könyvtárban.

Ennek kiküszöbölésére létrehoztam egy könyvtárat, amelyet a felhasználónevemről aritdevneveztem el az otthoni könyvtáramon kívül (én választottam /etc/), és teljes engedélyeket adtam magamnak, de olvasási-végrehajtási engedélyeket mindenki másnak. Ezután áthelyeztem a authorized_keysfájlomat /etc/aritdev/. Ezután frissítettem a AuthorizedKeysFileparamétert /etc/ssh/sshd_config:

AuthorizedKeysFile /etc/%u/authorized_keys

Végül újraindítottam az SSH szolgáltatást. A teszteléshez kijelentkeztem a VPS-ből, majd megpróbáltam újra bejelentkezni. BOOM - sikerült! ??

Milyen problémákat tapasztalt a szerver hitelesítésével kapcsolatban? Hogyan oldotta meg őket? Kérjük, ossza meg alább! ??