Pagtatakda ng Wastong .ssh / config Mga Pahintulot

Setting Proper Ssh Config Permissions



Ang SSH protocol ay isang ligtas na protokol na karaniwang ginagamit upang kumonekta sa mga malalayong aparato tulad ng mga server at mga aparato sa network, kabilang ang mga router at switch. Gumagana ito sa isang pag-setup ng client-server at, bilang default, nakikinig sa port 22 (bagaman maaaring mabago ito kung kinakailangan). Gumagamit ang SSH ng iba't ibang mga diskarte sa pag-encrypt at pag-hash upang matiyak na ang komunikasyon sa pagitan ng client at ng remote host ay naka-encrypt at ligtas mula sa eavesdropping.

Ang mga SSH file ay nakaimbak sa .ssh folder. Ito ay isang nakatagong folder na naninirahan sa direktoryo ng bahay. Ang .ssh ang direktoryo ay hindi nilikha bilang default; nilikha ito kapag pinasimulan mo ang isang koneksyon sa isang remote host o ginamit ang ssh-keygen utos upang makabuo ng pribado at publiko na mga key ng pagpapatotoo tulad ng kung kailan mo nais i-set up ang pagpapatunay ng passwordless ssh.







Ang .ssh folder. naglalaman ng mahahalagang mga file ng SSH tulad ng:



  1. Pampubliko at Pribadong mga susi ( id_rsa at id_rsa.pub ).
  2. Ang kilala_hosts file - Naglalaman ng mga pampublikong key ng lahat ng mga remote system na nakakonekta mo.
  3. Ang config file ng pagsasaayos ng client

Kung ang config walang file, madali kang makakalikha ng isa tulad ng ipinakita.



$ touch ~ / .ssh / config

Ang .ssh / config file ng pagsasaayos ng client

Sa tuwing pinasimulan mo ang isang koneksyon sa SSH, kailangan mong tukuyin ang mga detalye tulad ng IP address o pangalan ng domain at nakikinig sa port SSH. Halimbawa,

$ ssh [protektado ng email] -p 22

Maaari itong maging hectic upang laging tandaan ang mga naturang detalye. At ito ay kung saan ang ~ / .ssh / config file ay dumating sa. Ang ~ / .ssh / config Ang file ay isang file ng pagsasaayos na nagbibigay-daan sa iyo upang mai-configure ang mga detalye ng pagsasaayos ng bawat gumagamit ng remote host. Sine-save ka nito ng matinding paghihirap na palaging naaalala ang mga per-host na detalye na kinakailangan para sa koneksyon.

Lumilitaw ang isang sample na config file tulad ng ipinakita.

Host staging-server
HostName 192.168.2.103
Mga james ng gumagamit
Port 22

Ang isang simpleng utos ng SSH sa remote host ay magmumukhang mga sumusunod:

$ ssh staging-server

Ang mga pahintulot ng .ssh / config file

Bilang default, ang ~ / .ssh / config Nagtataglay ang file ng pagsasaayos ng client ng 644 mga pahintulot sa file. Maaari mong i-verify na gamit ang ls -la utos tulad ng sumusunod.

$ ls -la ~ / .ssh / config

Ipinapahiwatig nito na ang may-ari at pangkat ng file ay parehong nagbasa at sumulat ng mga pahintulot (rw) habang ang ibang mga gumagamit ay may mga binasang pahintulot lamang (r).

-rw-rw-r--

TANDAAN:

Bilang panuntunan sa hinlalaki, huwag kailanman magtalaga ng mga pahintulot sa pagsulat sa iba pang mga gumagamit. Nagbibigay ito ng isang panganib sa seguridad sa iyong file, at ang iba pang mga gumagamit na hindi ikaw mismo o nasa iyong pangkat ay maaaring baguhin ang mga nilalaman ng file. Ang pagtatalaga ng mga pahintulot sa pagsusulat ay magreresulta sa ‘ Hindi magandang may-ari o mga pahintulot ’Error tulad ng ipinahiwatig sa ibaba.

Dito, ang config file ay itinalaga ng mga pahintulot 666. Ipinapahiwatig nito na ang bawat isa ay maaaring mabasa at isulat ang file.

Katulad nito, nalalapat ang parehong kaso dito kung saan ang file ay naitalaga ng 777 mga pahintulot. Ipinapahiwatig nito na ang lahat ay maaaring mabasa, sumulat at magpatupad ng file. Sa madaling salita, ang sinuman ay may lahat ng mga karapatan sa potensyal na mapanganib na file.

Inirerekumenda ng pinakamahusay na kasanayan na iwanan mo ang mga default na pahintulot sa 664 o 600, kung saan ang may-ari lamang ang nabasa at nakasulat ng mga pahintulot (rw). Sa ganitong paraan, mananatiling ligtas ang file mula sa pagbabago ng mga hindi pinahintulutang gumagamit.

Bilang karagdagan, tiyakin na pagmamay-ari mo ang file. Kung ang file ay binago sa ibang gumagamit, hindi malulutas ng SSH ang hostname na ibinigay sa config file.

Sa halimbawa sa ibaba, ang ~ / .ssh / config ang pagmamay-ari ay itinakda sa bob: bob

Upang malutas ang isyung ito, bumalik ako sa orihinal na pagmamay-ari ng file gamit ang chown utos

$ sudo chown james: james ~ / .ssh / config

Sa pagbabalik ng mga pahintulot ng file, maaari na akong magkaroon ng pag-access sa pamamagitan ng pagtawag sa utos ng SSH na sinusundan ng hostname na tinukoy sa config file.

$ ssh staging-server

At iyon lang ang kailangan mong malaman tungkol sa pagtatakda ng mga pahintulot sa ~ / .ssh / config file Tiyaking hindi mo itinatakda ang mga pahintulot na nabasa sa natitirang mga gumagamit at tiyaking pagmamay-ari mo ang file.