
Nedavno sam osigurao Ubuntu virtualni privatni poslužitelj (VPS) na Vultru. I sam sam pristalica CentOS-a, ali zadatak na kojem sam radio preporučio je Ubuntu.
Da biste postavili provjeru autentičnosti na temelju ključa s mog prijenosnog računala na poslužitelj,
- Generirao sam novi SSH ključ (nazvan "ubuntu") na svom Macu pomoću naredbe:
ssh-keygen -t rsa -b 4096
- Zatim sam koristio
ssh-copy-id
uslužni program za kopiranje javnog ključa uauthorized_keys
datoteku na Vultr VPS-u:ssh-copy-id -i .ssh/ubuntu [email protected]
Kao što sam i očekivao, uslužni program zatražio je moju VPS lozinku kako bi dovršio prijenos javnog ključa. Kad je sve bilo gotovo, pokušao sam se prijaviti na svoj VPS.
Trebao me propustiti bez potrebe za lozinkom:
ssh -i .ssh/ubuntu [email protected]
Ali stalno sam se tražio lozinku. ?
- Provjerio sam svoju
authorized_keys
datoteku na VPS-u kako bih se uvjerio da je moj javni ključ ispravno kopiran. Ček. ?? - Pobrinuo sam se da datoteka pišem i pišem samo za sebe i ni za koga drugog. Ček. ??
- Uvjerio sam se da su sljedeće mogućnosti omogućene u
/etc/ssh/sshd_config
:PubkeyAuthentication yes
iAuthorizedKeysFile .ssh/authorized_keys
. Ček. ??
Ipak, stalno sam se tražio lozinku prilikom prijave s prijenosnog računala.
Nakon nekoliko minuta na StackOverflowu saznao sam za šifrirane kućne direktorije, koji su zadani u nekim okruženjima, uključujući Ubuntu.
Šifrirani kućni direktoriji neće se dešifrirati dok početna prijava ne uspije. Međutim, moja je authorized_keys
datoteka pohranjena u moj kućni direktorij.
Stoga će za moj prvi pokušaj povezivanja biti potrebna lozinka. Naknadne veze uspjet će bez lozinke, jer će SSH usluga tada moći pročitati moju authorized_keys
datoteku u mom dešifriranom kućnom direktoriju.
Da bih to zaobišao, stvorio sam direktorij nazvan po mom korisničkom imenu aritdev
izvan svog kućnog direktorija (odabrao sam /etc/
) i dao sam mu puna dopuštenja, ali dopuštenja za čitanje i izvršavanje za sve ostale. Dalje sam premjestio svoju authorized_keys
datoteku u /etc/aritdev/
. Zatim sam AuthorizedKeysFile
parametar ažurirao u /etc/ssh/sshd_config
:
AuthorizedKeysFile /etc/%u/authorized_keys
Konačno, ponovno sam pokrenuo SSH uslugu. Da bih testirao, odjavio sam se s VPS-a, a zatim sam se pokušao ponovno prijaviti. BOOM - uspjelo je! ??
S kojim ste se problemima u vezi s autentifikacijom poslužitelja susreli? Kako ste ih riješili? Molimo podijelite u nastavku! ??