Kas teie avalikud SSH-võtmed valmistavad teile raskusi? Proovige ühte neist lahendustest.

SSH on kasulik tööriist kaugmasinatega ühenduse loomiseks, kuid teil võib Linuxis ilmneda tõrge "Luba keelatud (avalik võti)", mis puudutab teie avalikku võtit. Õnneks on mõned lihtsad parandused, mida saate proovida tõrkeotsinguks.

Mis on avalik võti?

Kui loote Linuxis SSH jaoks võtmepaari, antakse teile avalik võti ja privaatvõti. Privaatvõti jääb teie juurde hoolikalt kaitstud saladusena, kuid avalik võti edastatakse kaugserveritele, et saaksite ilma paroolita sisse logida. Teie kohalik SSH-klient sobitab ühenduse loomisel avaliku võtme privaatvõtmega.

Selle meetodi eeliseks on see, et peate välja andma ainult avaliku võtme. Kuni hoiate oma privaatvõtit privaatsena, peaks see teid kaitsma juhuks, kui teie avalik võti satub ohtu. Avalik võti on iseenesest kasutu.

OpenSSH, avatud lähtekoodiga maailmas kõige laialdasemalt kasutatav SSH-klient ja -server, nõuab mis tahes faili sisaldavat faili avalikke võtmeid kaugmasinas (.ssh/authorized_keys" teie kodukataloogis), et omada teatud õigusi. See ei tööta, kui kirjutamisõigused on määratud teistele kasutajatele, mida nimetatakse "maailmas kirjutatavaks". Kuna kataloogi nimi algab punktiga (.), ei kuvata seda üheski ls-i loendis, kui te ei kasuta käsk

instagram viewer
ls -A.

Õigused võivad muutuda, kui fail kopeeriti teisest arvutist või lõite selle ise. Õnneks on seda lihtne parandada.

Kontrollige oma avaliku võtme õigusi

Fail authorised_keys on lihtsalt lihttekstifail, mis sisaldab kõiki avalikke võtmeid klientidelt, kelle jaoks soovite kaugmasinas oma kontole sisse logida. Selle lubade nägemiseks kasutage käsku ls valikuga -l:

ls -l ~/.ssh/authorized_keys

See näitab omaniku, grupi ja teiste kasutajate lubade seadeid. Pöörake tähelepanu stringi kuuele viimasele tähele. Kui näete nendes "w", tähendab see, et grupp või teised saavad sellele kirjutada, muutes selle ebaturvaliseks.

Soovite, et seda faili saaks kirjutada ise, kuid mitte grupp ega teised. Õigetele kasutajatele juurdepääsu andmiseks chmodiga saate õigusi muuta.

On kaks võimalust: numbriliselt ja sümboolselt.

Numbriline viis on lühem, kuid peate pähe jätma kaheksakohalised lubade numbrid:

chmod 700 ~/.ssh/authorized_keys

Sümboolne meetod on rohkem mnemooniline:

chmod go-w ~/.ssh/authorized_keys

Võtmete ohutu kopeerimine ssh-agendi abil

Saate käsitsi kopeerida ja kleepida kõik avalikud võtmed oma masinast ~/.ssh/.authorized_keys faili, kuid programmi ssh-agent kasutamine vähendab lubade vigade tõenäosust.

Ssh-agendi käivitamiseks kasutage seda käsku:

eval "$(ssh-agent-s)"

Kaugserverisse ssh-agendi abil sisselogimiseks kasutage ssh-ga suvandit -A

ssh -A [email protected]

Kontrollige kaugserveri sshd sätteid

Kui mõni neist toimingutest ebaõnnestub, peate võib-olla tegema kaugmasina sshd-serveri konfiguratsiooni, kui teil on juurjuurdepääs. Kui ei, peate tõenäoliselt võtma ühendust süsteemiadministraatoriga, et aidata teil lahendada SSH-ühenduse probleeme. See on viimane abinõu, kuna see võib teie süsteemi vähem turvaliseks muuta.

Süsteemne sshd konfiguratsioonifail on /etc/ssh/sshd_config. Kuna see kuulub rootile, peate selle muutmiseks kasutama sudo. Näiteks selle muutmiseks Vimiga:

sudo vim /etc/ssh/sshd_config

Et sshd lubaks teil sisse logida isegi siis, kui fail authorised_keys on maailmas kirjutatav, määrake selles failis suvand "StrictModes" väärtuseks "ei".

Salvestage see ja taaskäivitage SSH-server:

sudo systemctl restart sshd.service

Nüüd saate parandada SSH avaliku võtme lubade vigu

Võimalik, et kaugsüsteemides avalike SSH-võtmete puhul ilmnevad vead. Õnneks tuleb enamasti vaid kontrollida ja seadistada faili õigused nii, et keegi teine ​​sinu võtit ei näeks. Usaldusväärsemate ühenduste jaoks saate kasutada ka ssh-agenti. Viimase abinõuna saate muuta SSH-serveri vähem rangeks.