Ang teknolohiya ng SSH (Secure Shell) ay nagpapahintulot sa secure na remote na kontrol ng isang computer sa pamamagitan ng isang secure na koneksyon. Ini-encrypt ng SSH ang lahat ng nailipat na mga file, kabilang ang mga password, at nagpapasa rin ng anumang network protocol. Para magamit ang kasangkapan nang tama, kinakailangan hindi lamang i-install ito, kundi pati na rin upang i-configure ito. Nais naming pag-usapan ang tungkol sa produkto ng pangunahing configuration sa artikulong ito, pagkuha bilang isang halimbawa sa pinakabagong bersyon ng operating system ng Ubuntu kung saan matatagpuan ang server.
I-configure ang SSH sa Ubuntu
Kung hindi mo pa nakumpleto ang pag-install sa server at client PC, dapat mong gawin ito sa simula, dahil ang buong pamamaraan ay medyo simple at hindi tumatagal ng maraming oras. Para sa detalyadong gabay sa paksang ito, tingnan ang aming iba pang artikulo sa sumusunod na link. Ipinapakita rin nito ang pamamaraan para sa pag-edit ng configuration file at pagsubok ng SSH, kaya ngayon kami ay mananatili sa iba pang mga gawain.
Magbasa nang higit pa: Pag-install ng SSH-server sa Ubuntu
Paglikha ng RSA key pair
Ang bagong naka-install na SSH ay walang mga tinukoy na key upang kumonekta mula sa server patungo sa client at vice versa. Ang lahat ng mga parameter na ito ay dapat na itakda nang manu-mano agad pagkatapos idagdag ang lahat ng mga bahagi ng protocol. Gumagana ang pangunahing pares gamit ang RSA algorithm (maikli para sa mga pangalan ng mga developer ng Rivest, Shamir, at Adleman). Salamat sa cryptosystem na ito, ang mga espesyal na key ay naka-encrypt gamit ang mga espesyal na algorithm. Upang lumikha ng isang pares ng mga pampublikong key, kailangan mo lamang ipasok ang naaangkop na mga utos sa console at sundin ang mga tagubilin na lumilitaw.
- Pumunta sa trabaho "Terminal" anumang madaling paraan, halimbawa, sa pamamagitan ng pagbubukas nito sa pamamagitan ng isang menu o isang kumbinasyon ng mga key Ctrl + Alt + T.
- Ipasok ang command
ssh-keygen
at pagkatapos ay pindutin ang key Ipasok. - Ikaw ay sasabihan na lumikha ng isang file kung saan ang mga key ay isi-save. Kung nais mong panatilihin ang mga ito sa default na lokasyon, i-click lamang Ipasok.
- Ang pampublikong susi ay maaaring protektado ng parirala ng code. Kung nais mong gamitin ang pagpipiliang ito, sa lumitaw na linya isulat ang password. Ang ipinasok na character ay hindi ipapakita. Kailangan ng bagong linya na ulitin ito.
- Karagdagang makikita mo ang isang abiso na ang susi ay na-save, at maaari mo ring makilala ang random na graphic na imahe nito.
Ngayon mayroong isang nilikha pares ng mga susi - lihim at bukas, na gagamitin para sa karagdagang koneksyon sa pagitan ng mga computer. Kailangan mo lamang ilagay ang susi sa server upang matagumpay ang SSH authentication.
Kinokopya ang pampublikong susi sa server
May tatlong paraan para sa mga key ng pagkopya. Ang bawat isa sa kanila ay magiging sulit sa iba't ibang sitwasyon kung saan, halimbawa, ang isa sa mga pamamaraan ay hindi gumagana o hindi angkop para sa isang partikular na gumagamit. Ipinapanukala naming isaalang-alang ang lahat ng tatlong pagpipilian, simula sa pinaka-simple at epektibo.
Pagpipilian 1: ssh-copy-id command
Koponanssh-copy-id
na binuo sa operating system, kaya para sa pagpapatupad nito ay hindi kailangang i-install ang anumang karagdagang mga bahagi. Sundin ang simpleng syntax upang kopyahin ang key. In "Terminal" dapat ipasokssh-copy-id username @ remote_host
kung saan username @ remote_host - ang pangalan ng remote na computer.
Kapag una kang kumonekta, makakatanggap ka ng teksto ng abiso:
Ang pagiging tunay ng host '203.0.113.1 (203.0.113.1)' ay hindi maitatag.
Ang key fingerprint ng ECDSA ay fd: fd: d4: f9: 77: fe: 73: 84: e1: 55: 00: ad: d6: 6d: 22: fe.
Sigurado ka bang gusto mong magpatuloy sa pagkonekta (oo / hindi)? oo
Dapat mong tukuyin ang isang opsyon oo upang ipagpatuloy ang koneksyon. Pagkatapos nito, ang utility ay malayang maghanap para sa susi sa anyo ng isang file.id_rsa.pub
na nilikha nang mas maaga. Sa matagumpay na pagtuklas, ang mga sumusunod na resulta ay ipinapakita:
/ usr / bin / ssh-copy-id: INFO: Na-install na ako
/ usr / bin / ssh-copy-id: INFO: 1 key (s) ay mananatiling naka-install
password ng [email protected]:
Tukuyin ang password mula sa remote host upang maipasok ito ng utility. Angkop na kopyahin ng tool ang data mula sa pampublikong key file. ~ / .ssh / id_rsa.pubat pagkatapos ay lilitaw ang mensahe sa screen:
Ngayon, subukan ang pag-log in sa machine, gamit ang: "ssh '[email protected]'"Bilang ng (mga) susi idinagdag: 1
suriin ito.
Ang hitsura ng naturang teksto ay nangangahulugang matagumpay na na-download ang key sa remote na computer, at ngayon ay walang problema sa koneksyon.
Pagpipilian 2: Kopyahin ang pampublikong susi sa pamamagitan ng SSH
Kung hindi mo magamit ang nabanggit na utility, ngunit mayroon kang isang password upang mag-log in sa remote SSH server, maaari mong manu-manong i-load ang iyong user key, sa gayon pagtiyak ng karagdagang matatag na pagpapatunay kapag nakakonekta. Ginamit para sa utos na ito pusana magbabasa ng data mula sa file, at pagkatapos ay ipapadala ito sa server. Sa console, kailangan mong ipasok ang linya
cat ~ / .ssh / id_rsa.pub | ssh username @ remote_host "mkdir -p ~ / .ssh && touch ~ / .ssh / authorized_keys && chmod -R go = ~ / .ssh && cat >> ~ / .ssh / authorized_keys"
.
Kapag lumilitaw ang isang mensahe
Ang pagiging tunay ng host '203.0.113.1 (203.0.113.1)' ay hindi maitatag.
Ang key fingerprint ng ECDSA ay fd: fd: d4: f9: 77: fe: 73: 84: e1: 55: 00: ad: d6: 6d: 22: fe.
Sigurado ka bang gusto mong magpatuloy sa pagkonekta (oo / hindi)? oo
magpatuloy sa pagkonekta at ipasok ang password upang mag-log in sa server. Pagkatapos nito, awtomatikong makopya ang pampublikong key sa dulo ng configuration file. authorized_keys.
Pagpipilian 3: Mano-manong pagkopya sa pampublikong susi
Sa kaso ng kakulangan ng access sa isang remote na computer sa pamamagitan ng isang server ng SSH, ang lahat ng mga hakbang sa itaas ay isinagawa nang manu-mano. Upang gawin ito, alamin muna ang tungkol sa susi sa PC ng server sa pamamagitan ng utoscat ~ / .ssh / id_rsa.pub
.
Ang screen ay magpapakita ng ganito:ssh-rsa + key bilang character set == demo @ test
. Matapos na pumunta sa trabaho sa remote na aparato, kung saan lumikha ng isang bagong direktoryo sa pamamagitan ngmkdir -p ~ / .ssh
. Bukod dito ay lumilikha ng isang file.authorized_keys
. Susunod, ipasok ang key na natutunan mo nang mas maagaecho + public key string >> ~ / .ssh / authorized_keys
. Pagkatapos nito, maaari mong subukan na patotohanan ang server nang hindi gumagamit ng mga password.
Authentication sa server sa pamamagitan ng nabuong key
Sa nakaraang seksyon, natutunan mo ang tungkol sa tatlong pamamaraan para sa pagkopya ng susi ng isang remote na computer sa isang server. Ang ganitong mga aksyon ay magbibigay-daan sa iyo upang kumonekta nang hindi gumagamit ng isang password. Ang pamamaraan na ito ay isinagawa mula sa command line sa pamamagitan ng pag-typeshh ssh username @ remote_host
kung saan username @ remote_host - username at host ng ninanais na computer. Kapag una kang kumonekta, aabisuhan ka ng isang hindi pamilyar na koneksyon at maaari kang magpatuloy sa pamamagitan ng pagpili ng opsyon oo.
Ang koneksyon ay awtomatikong mangyayari kung sa panahon ng key pares paglikha ng isang passphrase ay hindi tinukoy. Kung hindi man, kailangan mo munang ipasok ito upang magpatuloy sa pagtratrabaho sa SSH.
Huwag paganahin ang pagpapatunay ng password
Ang matagumpay na setting ng key pagkopya ay isinasaalang-alang sa sitwasyon kung kailan maaari mong ipasok ang server nang hindi gumagamit ng isang password. Gayunpaman, ang kakayahang magpatunay sa ganitong paraan ay nagbibigay-daan sa mga attackers na gumamit ng mga tool upang makahanap ng isang password at masira ang isang secure na koneksyon. Upang maprotektahan ang iyong sarili mula sa naturang mga kaso ay magbibigay-daan sa isang ganap na hindi pagpapagana ng password sa pag-login sa configuration file ng SSH. Ito ay mangangailangan ng:
- In "Terminal" buksan ang configuration file sa pamamagitan ng editor gamit ang command
sudo gedit / etc / ssh / sshd_config
. - Hanapin ang linya PasswordAuthentication at alisin ang marka # sa simula upang i-uncomment ang parameter.
- Baguhin ang halaga sa hindi at i-save ang kasalukuyang configuration.
- Isara ang editor at i-restart ang server.
sudo systemctl restart ssh
.
Ang pag-authenticate ng password ay hindi pinagana, at posible lamang na mag-log in sa server gamit ang mga susi na partikular na nilikha para sa ito sa algorithm ng RSA.
Pag-set up ng isang karaniwang firewall
Sa Ubuntu, ang default na firewall ay firewall ng Uncomplicated Firewall (UFW). Pinapayagan ka nitong pahintulutan ang mga koneksyon para sa napiling mga serbisyo. Lumilikha ang bawat application ng sarili nitong profile sa tool na ito, at pinamamahalaan ito ng UFW sa pamamagitan ng pagpapahintulot o pagtanggi sa mga koneksyon. Ang pagsasaayos ng isang profile ng SSH sa pagdaragdag nito sa listahan ay tapos na tulad ng sumusunod:
- Buksan ang listahan ng mga profile ng firewall gamit ang command
sudo ufw app list
. - Ipasok ang password ng iyong account upang ipakita ang impormasyon.
- Makikita mo ang isang listahan ng magagamit na mga application, ang OpenSSH ay dapat kasama sa kanila.
- Ngayon dapat mong pahintulutan ang mga koneksyon sa paglipas ng SSH. Upang gawin ito, idagdag ito sa listahan ng mga pinahihintulutang profile gamit
sudo ufw payagan ang OpenSSH
. - Paganahin ang firewall sa pamamagitan ng pag-update ng mga panuntunan
sudo ufw paganahin
. - Upang matiyak na ang mga koneksyon ay pinahihintulutan, dapat kang sumulat
sudo ufw status
, makikita mo ang kalagayan ng network.
Nakumpleto nito ang aming mga tagubilin sa pagsasaayos ng SSH para sa Ubuntu. Ang karagdagang configuration ng configuration file at iba pang mga parameter ay isinasagawa nang personal ng bawat gumagamit sa ilalim ng kanyang mga kahilingan. Maaari kang maging pamilyar sa pagpapatakbo ng lahat ng bahagi ng SSH sa opisyal na dokumentasyon ng protocol.