Jinsi ya Kusanidi Viunganisho Maalum vya SSH ili Kurahisisha Ufikiaji wa Mbali


SSH (mteja wa SSH) ni mpango wa kufikia mashine kwa mbali, humwezesha mtumiaji kutekeleza amri kwenye seva pangishi ya mbali. Ni mojawapo ya njia inayopendekezwa zaidi ya kuingia kwa seva pangishi ya mbali, kwa kuwa imeundwa kutoa mawasiliano salama yaliyosimbwa kati ya wapangishi wawili wasioaminika kupitia mtandao usio salama.

SSH hutumia mfumo mzima na pia faili maalum ya usanidi (desturi). Katika somo hili, tutaeleza jinsi ya kuunda faili maalum ya usanidi wa ssh na kutumia chaguo fulani kuunganisha kwa wapangishi wa mbali.

  1. Lazima uwe umesakinisha kiteja cha OpenSSH kwenye eneo-kazi lako la Linux.
  2. Fahamu chaguo za kawaida zinazotumiwa kwa miunganisho ya mbali kupitia ssh.

Hapo chini kuna maeneo ya faili za usanidi wa mteja wa ssh:

  1. /etc/ssh/ssh_config - hii ndiyo faili chaguo-msingi, ya mfumo mzima wa usanidi. Ina mipangilio inayotumika kwa watumiaji wote wa mashine ya kiteja ya ssh.
  2. ~/.ssh/config au $HOME/.ssh/config - ni faili maalum ya usanidi/maalum. Ina usanidi unaotumika kwa mtumiaji maalum. Kwa hivyo hubatilisha mipangilio chaguo-msingi katika faili ya usanidi ya mfumo mzima. Hili ndilo faili tutalounda na kutumia.

Kwa chaguo-msingi, watumiaji wanathibitishwa katika ssh kwa kutumia manenosiri, hata hivyo, unaweza kusanidi kuingia bila nenosiri kwa kutumia ssh keygen katika hatua 5 rahisi.

Kumbuka: Ikiwa saraka ~/.ssh haipo kwenye mfumo wa eneo-kazi lako, iunde kwa ruhusa zifuatazo.

$ mkdir -p ~/.ssh
$ chmod 0700 ~/.ssh   

Amri ya chmod hapo juu inamaanisha kuwa ni mtumiaji pekee anayeweza kusoma, kuandika na kutekeleza ruhusa kwenye saraka kama inavyotakiwa na mipangilio ya ssh.

Jinsi ya Kuunda Faili Maalum ya Usanidi ya SSH

Faili hii kwa kawaida haijaundwa kwa chaguo-msingi, kwa hivyo unahitaji kuiunda kwa ruhusa ya kusoma/kuandika kwa mtumiaji pekee.

$ touch ~/.ssh/config
$ chmod 0700 ~/.ssh/config

Faili iliyo hapo juu ina sehemu zilizobainishwa na ubainishi wa seva pangishi, na sehemu inatumika tu kwa seva pangishi zinazolingana na mojawapo ya ruwaza zilizowekwa katika vipimo.

Umbizo la kawaida la ~/.ssh/config ni kama ifuatavyo, na mistari yote tupu pamoja na mistari inayoanza na ‘#’ inazingatiwa kama maoni:

Host    host1
	ssh_option1=value1
	ssh_option2=value1 value2
	ssh_option3=value1 

Host    host2
	ssh_option1=value1
	ssh_option2=value1 value2

Host  *
	ssh_option1=value1
	ssh_option2=value1 value2

Kutoka kwa muundo hapo juu:

  1. Mpangishi-mpangishi1 - ni ufafanuzi wa kichwa cha mpangishi1, hapa ndipo ubainishaji wa mwenyeji huanza na kuishia na ufafanuzi unaofuata wa kichwa, Mpangishi-mpangishi2 kutengeneza sehemu.
  2. mpangishi1, mpangishi2 ni lakabu za seva pangishi za kutumia kwenye safu ya amri, sio majina halisi ya wapangishi wa wapangishi wa mbali.
  3. Chaguo za usanidi kama vile ssh_option1=value1, ssh_option2=value1 thamani2 zinatumika kwa seva pangishi inayolingana na zinapaswa kuelekezwa kwa uundaji uliopangwa vizuri.
  4. Kwa chaguo kama vile ssh_option2=value1 value2, thamani1 inazingatiwa kwanza, kisha thamani2.
  5. Ufafanuzi wa kichwa Mpangishi * (ambapo * ni mchoro - kadi-mwitu inayolingana na vibambo sifuri au zaidi) italingana na seva pangishi sifuri au zaidi.

Bado ukizingatia umbizo hapo juu, hivi ndivyo ssh inavyosoma faili ya usanidi. Ikiwa utatoa amri ya ssh kupata mwenyeji1 kwa mbali kama hivyo:

$ ssh host1

Amri ya ssh hapo juu itafanya mambo yafuatayo:

  1. linganisha mwenyeji lakabu1 katika faili ya usanidi na kutumia chaguo zilizowekwa chini ya kichwa cha ufafanuzi, mwenyeji wa jeshi1.
  2. kisha husogea hadi sehemu inayofuata ya seva pangishi, Mwenyeji2 na kupata kwamba jina lililotolewa kwenye safu ya amri halilingani, kwa hivyo hakuna chaguo zinazotumika kutoka hapa.
  3. Inaendelea hadi sehemu ya mwisho, Host *, ambayo inalingana na wapangishi wote. Hapa, inatumika chaguzi zote katika sehemu hii kwa muunganisho wa mwenyeji. Lakini haiwezi kubatilisha thamani zozote za chaguo ambazo tayari zimetumika katika(za) sehemu zilizopita.
  4. Hali hiyo hiyo inatumika kwa mpangishaji2.

Jinsi ya Kutumia Faili Maalum ya Usanidi ya SSH

Mara tu unapoelewa jinsi faili ya usanidi wa mteja wa ssh inavyofanya kazi, unaweza kuiunda kama ifuatavyo. Kumbuka kutumia chaguo na maadili (lakabu za mwenyeji, nambari za bandari, majina ya watumiaji na kadhalika) zinazotumika kwa mazingira ya seva yako.

Fungua faili ya usanidi na hariri unayopenda:

$ vi ~/.ssh/config

Na fafanua sehemu zinazohitajika:

Host fedora25
        HostName 192.168.56.15
        Port 22
        ForwardX11 no

Host centos7
        HostName 192.168.56.10
        Port 22
        ForwardX11 no

Host ubuntu
        HostName 192.168.56.5
        Port 2222
        ForwardX11 yes

Host *
        User tecmint
        IdentityFile ~/.ssh/id_rsa
        Protocol 2
        Compression yes
        ServerAliveInterval 60
        ServerAliveCountMax 20
        LogLevel INFO

Maelezo ya kina ya chaguzi za usanidi wa ssh hapo juu.

  1. HostName - inafafanua jina la mwenyeji halisi la kuingia, vinginevyo, unaweza kutumia anwani za IP za nambari, pia inaruhusiwa (kwenye safu ya amri na katika vipimo vya HostName).
  2. Mtumiaji - hubainisha mtumiaji kuingia kama.
  3. Lango - huweka nambari ya mlango ili kuunganisha kwenye seva pangishi ya mbali, chaguo-msingi ni 22. Tumia nambari ya mlango iliyosanidiwa katika faili ya usanidi ya sshd ya seva pangishi ya mbali.
  4. Itifaki - chaguo hili linafafanua matoleo ya itifaki ambayo ssh inapaswa kutumika kwa mpangilio wa mapendeleo. Thamani za kawaida ni ‘1’ na ‘2’, matoleo mengi lazima yatenganishwe kwa koma.
  5. IdentityFile - hubainisha faili ambayo kitambulisho cha uthibitishaji cha mtumiaji cha DSA, Ed25519, RSA au ECDSA kinasomwa.
  6. ForwardX11 - inafafanua ikiwa miunganisho ya X11 itaelekezwa kwingine kiotomatiki kwenye kituo salama na seti ya DISPLAY. Ina thamani mbili zinazowezekana \ndiyo au \hapana.
  7. Mfinyazo - hutumika kuweka mbano wakati wa muunganisho wa mbali na thamani ya \ndiyo. Chaguomsingi ni \hapana.
  8. ServerAliveInterval - huweka muda wa kuisha kwa sekunde baada ya hapo ikiwa hakuna jibu (au data) imepokelewa kutoka kwa seva, ssh itatuma ujumbe kupitia chaneli iliyosimbwa kwa njia fiche ili kuomba jibu kutoka kwa seva. Thamani chaguo-msingi ni 0, kumaanisha kwamba hakuna ujumbe utakaotumwa kwa seva, au 300 ikiwa chaguo laModi Kundi limefafanuliwa.
  9. ServerAliveCountMax - huweka idadi ya jumbe hai ambazo zinaweza kutumwa bila ssh kupokea jibu lolote kutoka kwa seva.
  10. LogLevel - inafafanua kiwango cha verbosity kinachotumika wakati wa kuingia ujumbe kutoka ssh. Thamani zinazoruhusiwa ni pamoja na: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, na DEBUG3. Na chaguomsingi ni INFO.

Njia ya kawaida ya kuunganisha kwa seva pangishi ya mbali ya Linux (CentOS 7 - kwa upande wangu), iliyofafanuliwa katika sehemu ya pili ya faili ya usanidi hapo juu, kwa kawaida tungeandika amri hapa chini:

$ ssh -i ~/.ssh/id_rsa -p 22 [email 

Walakini, kwa kutumia faili ya usanidi wa mteja wa ssh, tunaweza kuandika amri ifuatayo:

$ ssh centos7 

Unaweza kupata chaguzi zaidi na mifano ya utumiaji katika ukurasa wa mtu wa usanidi wa mteja wa ssh:

$man ssh_config

Ndio hivyo kwa sasa, katika mwongozo huu, tulikuelezea jinsi ya kutumia faili ya usanidi wa mteja wa ssh maalum (desturi) katika Linux. Tumia fomu ya maoni iliyo hapa chini kutuandikia kuhusu makala haya.