Kā konfigurēt pielāgotus SSH savienojumus, lai vienkāršotu attālo piekļuvi
SSH (SSH klients) ir programma attālinātai piekļuvei mašīnai, un tā ļauj lietotājam izpildīt komandas attālajā resursdatorā. Tā ir viena no ieteicamākajām metodēm, lai pieteiktos attālajā resursdatorā, jo tā ir paredzēta, lai nodrošinātu drošu šifrētu saziņu starp diviem neuzticamiem resursdatoriem nedrošā tīklā.
SSH izmanto gan visas sistēmas, gan arī lietotāja specifisku (pielāgotu) konfigurācijas failu. Šajā apmācībā mēs paskaidrosim, kā izveidot pielāgotu ssh konfigurācijas failu un izmantot noteiktas opcijas, lai izveidotu savienojumu ar attālajiem resursdatoriem.
- Linux darbvirsmā jābūt instalētam OpenSSH klientam.
- Izprotiet parastās iespējas, kas tiek izmantotas attālajiem savienojumiem, izmantojot ssh.
Tālāk ir norādītas ssh klienta konfigurācijas failu atrašanās vietas:
-
/etc/ssh/ssh_config
- tas ir noklusējuma konfigurācijas fails visā sistēmā. Tajā ir iestatījumi, kas attiecas uz visiem ssh klienta mašīnas lietotājiem. -
~/.ssh/config
vai$HOME/.ssh/config
- ir lietotāja specifisks/pielāgots konfigurācijas fails. Tam ir konfigurācijas, kas attiecas uz konkrētu lietotāju. Tāpēc tas ignorē noklusējuma iestatījumus visas sistēmas konfigurācijas failā. Šo failu mēs izveidosim un izmantosim.
Pēc noklusējuma lietotāji tiek autentificēti ssh, izmantojot paroles, taču jūs varat iestatīt ssh pieteikšanos bez paroles, izmantojot ssh keygen, veicot 5 vienkāršas darbības.
Piezīme. Ja darbvirsmas sistēmā nepastāv direktorija ~/.ssh
, izveidojiet to ar šādām atļaujām.
$ mkdir -p ~/.ssh $ chmod 0700 ~/.ssh
Iepriekš minētā komanda chmod nozīmē, ka tikai lietotājam var būt lasīšanas, rakstīšanas un izpildes atļaujas direktorijā, kā to prasa ssh iestatījumi.
Kā izveidot lietotājam specifisku SSH konfigurācijas failu
Šis fails parasti netiek izveidots pēc noklusējuma, tāpēc jums tas jāizveido, izmantojot tikai lietotāja lasīšanas/rakstīšanas atļaujas.
$ touch ~/.ssh/config $ chmod 0700 ~/.ssh/config
Iepriekš minētajā failā ir sadaļas, kuras definē resursdatoru specifikācijas, un sadaļa tiek piemērota tikai resursdatoriem, kas atbilst vienam no specifikācijā iestatītajiem modeļiem.
Parastais ~/.ssh/config
formāts ir šāds, un visas tukšās rindas, kā arī rindas, kas sākas ar ‘#’
, tiek uzskatītas par komentāriem:
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
No iepriekš minētā formāta:
- Host host1 - galvenes definīcija host1, šeit sākas resursdatora specifikācija un tā beidzas ar nākamo galvenes definīciju, Host Host2 izveidojot sadaļu.
- host1, host2 ir vienkārši resursdatora aizstājvārdi, kas jāizmanto komandrindā, tie nav attālo resursdatoru faktiskie resursdatoru nosaukumi.
- Konfigurācijas opcijas, piemēram, ssh_option1 = value1, ssh_option2 = value1 value2, tiek piemērotas saskaņotajam resursdatoram, un tām jābūt ievilktām, lai labi organizētu formatējumu.
- Opcijai, piemēram, ssh_option2 = value1 value2, vispirms tiek ņemta vērā vērtība value1, pēc tam vērtība2.
- Galvenes definīcija Host * (kur
*
ir modelis - aizstājējzīme, kas atbilst nullei vai vairāk rakstzīmēm) sakritīs ar nulli vai vairāk resursdatoriem.
Joprojām ņemot vērā iepriekš minēto formātu, šādā veidā ssh nolasa konfigurācijas failu. Ja izpildāt komandu ssh, lai attālināti piekļūtu host1, rīkojieties šādi:
$ ssh host1
Iepriekš ssh komanda veiks šādas darbības:
- konfigurācijas failā sakrīt ar resursdatora aizstājvārdu host1 un izmanto definīcijas galvenē Host Host1 iestatītās opcijas.
- pēc tam pāriet uz nākamo resursdatora sadaļu Host Host2 un konstatē, ka komandrindā norādītais vārds nesakrīt, tāpēc šeit netiek izmantotas opcijas.
- Tas pāriet uz pēdējo sadaļu Host *, kas atbilst visiem resursdatoriem. Šeit visas šīs sadaļas opcijas tiek izmantotas resursdatora savienojumam. Bet tas nevar ignorēt nevienu opciju vērtību, kas jau tika izmantota iepriekšējā (-s) sadaļā (-ās).
- Tas pats attiecas uz 2. resursdatoru.
Kā lietot lietotājam specifisku SSH konfigurācijas failu
Kad esat sapratis, kā darbojas ssh klienta konfigurācijas fails, varat to izveidot šādi. Neaizmirstiet izmantot servera videi piemērojamās opcijas un vērtības (resursdatora aizstājvārdi, porta numuri, lietotājvārdi un tā tālāk).
Atveriet konfigurācijas failu ar iecienītāko redaktoru:
$ vi ~/.ssh/config
Un definējiet nepieciešamās sadaļas:
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
Detalizēts iepriekš minēto ssh konfigurācijas iespēju skaidrojums.
- HostName - nosaka reālo resursdatora nosaukumu, kurā pieteikties, kā arī varat izmantot ciparu IP adreses, tas ir arī atļauts (gan komandrindā, gan HostName specifikācijās).
- Lietotājs - norāda lietotāju, kuram jāpiesakās kā.
- Port - iestata porta numuru, lai izveidotu savienojumu ar attālo resursdatoru, pēc noklusējuma ir 22. Izmantojiet attālā resursdatora sshd konfigurācijas failā konfigurēto porta numuru.
- Protokols - šī opcija nosaka protokola versijas, kuras ssh jāatbalsta prioritāšu secībā. Parastās vērtības ir ‘1’ un ‘2’, vairākām versijām jābūt atdalītām ar komatu.
- IdentityFile - norāda failu, no kura tiek nolasīta lietotāja DSA, Ed25519, RSA vai ECDSA autentifikācijas identitāte.
- ForwardX11 - nosaka, vai X11 savienojumi tiks automātiski novirzīti pa drošo kanālu un iestatīts DISPLAY. Tam ir divas iespējamās vērtības “jā” vai “nē”.
- Kompresija - to izmanto, lai iestatītu saspiešanu attālā savienojuma laikā ar vērtību “jā”. Noklusējums ir “nē”.
- ServerAliveInterval - iestata taimauta intervālu sekundēs, pēc kura, ja no servera nav saņemta atbilde (vai dati), ssh sūtīs ziņojumu caur šifrēto kanālu, lai pieprasītu atbildi no servera. Noklusējuma vērtība ir 0, kas nozīmē, ka uz serveri netiks nosūtīti ziņojumi, vai 300, ja ir definēta opcija BatchMode.
- ServerAliveCountMax - nosaka servera dzīvo ziņojumu skaitu, kurus var nosūtīt, ssh nesaņemot atbildi no servera.
- LogLevel - nosaka daudzbalsības līmeni, kas tiek izmantots, reģistrējot ziņojumus no ssh. Atļautās vērtības ietver: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 un DEBUG3. Un noklusējums ir INFO.
Standarta veids, kā izveidot savienojumu ar jebkuru attālo Linux resursdatoru (manā gadījumā - CentOS 7), kas definēts iepriekš minētā konfigurācijas faila otrajā sadaļā, mēs parasti ierakstīsim zemāk esošo komandu:
$ ssh -i ~/.ssh/id_rsa -p 22 [email
Tomēr, izmantojot ssh klienta konfigurācijas failu, mēs varam vienkārši ierakstīt šādu komandu:
$ ssh centos7
Vairāk opciju un lietošanas piemēru varat atrast ssh klienta konfigurācijas rokasgrāmatas lapā:
$man ssh_config
Tas ir viss, šajā rokasgrāmatā mēs paskaidrojām, kā Linux lietot lietotājam specifisku (pielāgotu) ssh klienta konfigurācijas failu. Izmantojiet tālāk sniegto atsauksmju veidlapu, lai rakstītu mums atpakaļ par šo rakstu.