SSH (Secure Shell) ir pilnībā kodēta tīkla sistēma, kas lietotājiem ļauj piekļūt attālināti no klienta uz serveri vai sistēmu. Asimetriskās kriptogrāfijas drošības sistēmas dēļ ir diezgan droši un droši piekļūt serverim pat no nedroša klienta tīkla. Bet dažreiz neaktivitātes vai slikta tīkla signāla dēļ SSH attālā piekļuve var tikt atvienota. Lai kāds būtu iemesls, kā Linux administratoram ir ļoti svarīgi uzturēt SSH sesiju un procesu darbību pēc atvienošanas.
Iemesli, kāpēc SSH sesijas tiek atvienotas
Īsumā, SSH tuneļa starpniekservera kļūda, tīkla noildze, nepareiza tīkla porta izmantošana vai pat neesat pieteicies sistēmā kā root lietotājs var arī atvienot SSH attālo administrēšanu. Šajā amatā mēs apspriedīsim visbiežāk uzdotos jautājumus par SSH; kā uzturēt SSH sesiju un procesu darbību pēc atvienošanas.
1. Turpiniet vadīt SSH sesijas, izmantojot ekrāns
Komanda
The ekrāns
komanda ir visvairāk izmantotā un noderīgākā komanda SSH administrēšanai. The ekrāns
komanda var atrisināt gan IPv4, gan IPv6 adrešu resursdatora problēmas. Ar sakņu funkcionalitāti ekrāns
komanda var atteikties vai noraidīt sesiju no klienta gala līdz servera galam. Ja esat ļoti iesācējs Linux SSH, šeit ir daži CLI, kas var palīdzēt jums instalēt un atrast ekrāns
komandu.
Ubuntu:
$ sudo apt instalēšanas ekrāns
OpenSUSE:
$ sudo zypper instalēšanas ekrāns
Arch Linux:
$ sudo pacman -S ekrāns
Red Hat Enterprise Linux:
$ sudo yum instalēšanas ekrāns
Kad esat pabeidzis instalēšanu, sāciet uzraudzīt sistēmas sākuma ekrānu.
$ screen $ screen --help
Kad esat piekļuvis SSH serverim, vēlaties piekļūt attālināti. Ja plānojat ilgu nakts darbu no savas stacijas, bet nevēlaties pievilt savu SSH klientu, varat izmantot ekrāns
komandu. Tas var atvienot jūsu ekrāna sesiju, taču neuztraucieties, jūsu iesāktie uzdevumi tiks izpildīti.
Lai atvienotu ekrānu, nospiediet Ctrl-A
un tad Ctrl-D
no tastatūras. Jūs varat pieteikties, lai uzraudzītu darba gaitu jebkurā laikā no sava termināļa. Lai atkārtoti izveidotu savienojumu vai izveidotu savienojumu ar esošo ar sesiju, izmantojiet šo CLI.
$ ekrāns -r ekrāns -D -r
2. Turpiniet vadīt SSH sesijas, izmantojot tmux
Rīks
Tmux vai termināla multipleksors ir ļoti populārs un noderīgs rīks programmētājiem un sistēmas administratoriem, kas ļauj lietotājiem pārslēgties starp programmu uz programmu tajā pašā terminālā. Lai SSH sesijas darbotos fonā, tmux
var būt ļoti ātrs risinājums. Tas var atvienot un atkārtoti pievienot lietojumprogrammas, kur procesi tiek turpināti darboties fonā. Šeit ir instalēšanas instrukcija tmux
par Linux distros.
Arch Linux:
$ sudo pacman -S tmux
Red Hat Enterprise Linux:
$ sudo yum instalēt tmux
Ubuntu:
$ sudo apt-get install tmux
OpenSUSE:
$ sudo zypper instalējiet tmux
Pēc instalēšanas tmux
, sākt tmux sesija
izmantojot termināla komandas. Lai instalētu, tas neprasīs daudz laika. Kad esat pabeidzis instalēšanu, tagad varat sākt darbu tmux
. Sākt tmux
, vienkārši ievadiet terminālu tmux.
$ tmux
Ja jums ir nepieciešams palaist vairāk nekā vienu termināla multipleksoru, lai visas SSH sesijas darbotos fonā, tādā gadījumā jums var rasties grūtības pārslēgties starp tmux
uz tmux
. Šeit ir komandrindas, lai pārslēgtos no vienas formas uz otru.
$ tmux atdalīt $ tmux piestiprināt $ tmux piestiprināt -t 2
Lai pārbaudītu visus tmux
ekrānā izmantojiet tmux sarakstā
komandu.
$ tmux ls
3. Turpiniet vadīt SSH sesijas, izmantojot byobu
Rīks
Byobu rīks galvenokārt tiek izmantots SSH attālajai administrēšanai un ekrāna uzraudzībai Linux. Tā ir atvērtā koda programmatūra, un to var izmantot kopā ar tmux
vai ekrāns
rīks. Izmantojot., Varat redzēt pašreizējo statusu, paziņojumus un ziņojumus byobu
rīks. Lai arī byobu
pēc noklusējuma tiek instalēts kopā ar Ubuntu. Bet, ja tas nenotiek, varat to instalēt Linux mašīnā. Lai pārbaudītu, vai byobu
ir instalēts vai nav jūsu sistēmā, pārbaudot citas byobu versijas.
$ byobu --versija
Pēc tam iespējojiet byobu, tas palīdzēs jūsu SSH sesijas darboties fonā pēc pat atvienošanas.
$ byobu-enable
Šeit instalēšanas procesi ir izskaidroti ar CLI.
Ubuntu:
$ sudo apt instalējiet byobu
OpenSUSE:
$ sudo zypper addrepo https: // lejupielādēt.opensuse.org / repositories / utilities / openSUSE_Leap_42.3 / komunālie pakalpojumi.repo
$ sudo zypper atsvaidziniet $ sudo zypper instalējiet byobu
Arch Linux:
$ yaourt -S byobu $ packer -S byobu
Red Hat Enterprise Linux:
$ sudo yum instalējiet byobu
Fedora:
$ sudo dnf instalējiet byobu
Lai sāktu ar byobu
, vienkārši ierakstiet terminālu byobu un nospiediet taustiņu Enter.
$ byobu
Tagad, ja izmantojat tmux
vai ekrāns
, varat izvēlēties un izvēlēties kādu no tiem, lai sadarbotos ar aizmuguri.
$ byobu-select-backend
Tagad pēc atvienošanas varat pārvaldīt un saglabāt savas SSH sesijas fonā, izmantojiet sistēmas tastatūras funkciju taustiņus. Lai sāktu darbu ar SSH blakus byobu, nospiediet CTRL + SHIFT + F2
no tastatūras, lai iespējotu SSH vidi. Varat izmantot, lai pārvietotu SSH sesijas uz priekšu un atpakaļ ALT + UP
un ALT + DOWN
.
Lai atvienotu SSH sesijas, nospiediet F6
no tastatūras. Tagad, ja jūs meklējat atvienošanu, bet neatvienojat sesiju, šeit jūs dodaties. Lai atvienotu SSH sesijas un joprojām izveidotu savienojumu, nospiediet SHIFT + F6
. Šeit ir vēl viena papildu tastatūras komanda jums. Lai saglabātu aktīvu tikai pašreizējo ekrāna sesiju un aizvērtu visus pārējos logus, nospiediet ALT + F6
.
4. Turpiniet vadīt SSH sesijas, izmantojot nohup
Komanda
The nohup
vai 'no hangup' komanda ir ļoti noderīgs alternatīvs rīks ekrānam vai tmux. Tas arī ļauj lietotājiem uzturēt SSH sesijas pat pēc atvienošanas. The nohup
komanda liek sistēmai palaist visus procesus fonā, izvairoties no signāla pārtraukšanas (SIGHUP).
Lai pārbaudītu nohup
rokasgrāmatas un opcijas veido jūsu Linux termināli, ierakstiet šādu komandu terminālā un nospiediet taustiņu Enter.
$ nohup iespējas
Lai pārbaudītu pašlaik aktīvos darbu sarakstus, izmantojiet -l
komandu no sava termināla.
$ darbavietas -l
Tagad, SSH savienojumam, lai izvairītos no savienojuma zaudēšanas un saglabātu sesiju darbību pēc atvienošanas, izmantojiet Nohup komandrindas, kas seko jūsu darbam. Varat arī iegūt savu darbu izvades sarakstu teksta failā, izmantojot komandu cat blakus komandai nohup.
$ nohup ./Sveiki.sh $ cat nohup.ārā
Lai palaistu procesu fonā, varat izmantot &
simbols tūlīt pēc nohup
komandu. Piemēram, ja es vēlos pārbaudīt ping uz WordPress-408970-1286763.cloudwaysapps.com fonā, komandrinda būs tāda pati kā zemāk esošā nākamā rinda. Un, kad domājat, ka jūsu darbs ir paveikts, izmantojiet pgrep
komandu.
$ nohup ping ubuntupit.com & $ pgrep -a ping
5. Turpiniet vadīt SSH sesijas, izmantojot atteikties
Komanda
Ja jums nav sistēmas saknes privilēģiju, iespējams, šis risinās jūsu problēmu. The atteikties
komanda var padarīt jebkuru uzdevumu nerindotu no jūsu darbojošās sistēmas žurnāla. Tādējādi tas var paslēpt notiekošo procesu, lai izvairītos no visām automātiskās atteikšanās kļūdām vai signāla pārtraukšanas (SIGHUP). Lai faktiski uzturētu SSH sesijas, slēpjot uzdevumu, jūs faktiski varat izmantot procesa atdalīšanas procesu pārvaldības komandu.
Lai noņemtu vai paslēptu uzdevumu no uzdevumu pārvaldnieka, izmantojiet terminālā esošo komandu diswon.
$ atteikties
Lai pārbaudītu uzdevuma pašreizējo statusu, izmantojiet pašreizējo čaulas komandu.
$ pašreizējā čaula
Uzdevumu sarakstu var iestatīt arī ar vienas rindas termināla komandu.
$ atteikt darbavietas1 $ atteikt darba vietas1 darba vietas2 ... darbavietasn
Lai pārbaudītu uzdevumu sarakstu, izmantojiet -l
komandu.
$ darbavietas -l
Lai no loga noņemtu visus pašreizējos darbus, ierakstiet -a
sintakse pēc komandas atteikties.
$ atteikties -a
Lai no loga noņemtu tikai vienu vai darbojošos darbu, izmantojiet -r
sintakse pēc diswon komandas.
$ atteikties -r
Tagad, lai SSH darbotos fonā pēc sesijas pievienošanas, izmantojiet -h
sintakse. Šis process var saglabāt jūsu SSH sesiju darbību pat pēc atvienošanas.
$ disown -h jobID $ disown -h% 2
Fiksēšana pārtraukums
SSH kļūda RHEL
Kad esat izveidojis savienojumu ar SSH Red Hat Enterprise Linux (RHEL), var rasties bieža taimauta problēma un savienojums var tikt zaudēts. Šī problēma rodas no klienta vai resursdatora gala nederīgas atbildes laika formas. Red Hat saknes direktorijā jums jāatrod un jārediģē sshd_config.txt
failu, lai atrisinātu šo noildzes problēmu. Kad esat pabeidzis, varat atgūt SSH savienojumu pat pēc atvienošanas.
Tur iekšā sshd_config.txt
, failu, jūs atradīsit divas iespējas ar nosaukumu ClientAliveInterval
un ClientAliveCountMax
, Jums ir jārediģē šie žurnāla faili, lai maksimāli palielinātu servera reakciju uz klientu. Taimauta intervālu aprēķina, reizinot ClientAliveInterval un ClientAliveCountMax vērtības.
Viss, kas jums nepieciešams, ir rediģēt šo divu vērtību ilgumu atbilstoši jūsu sistēmas un tīkla reakcijas ilgumam. Ļaujiet maksimāli palielināt klienta intervāla beigām 10 minūtes un klienta skaitam 5 reizes, pēc tam teksta reģistru sshd_config.txt
fails būs kā zemāk. Un pēc tam restartējiet SSH.
ClientAliveInterval 10m ClientAliveCountMax 5
Pēdējās domas
Sistēmas administratoram SSH sesiju un procesu uzturēšana ir izšķirošs darbs, lai apmierinātu klientu un izpildītu uzdevumu. Atvienota un bieža sesiju zaudēšana ir ļoti kaitinoša un apgrūtinoša. Tāpēc šajā amatā mēs esam mēģinājuši apspriest un ilustrēt iemeslus, kāpēc SSH sesijas tiek atvienotas, un aprakstījām arī visas iespējamās metodes, kā uzturēt SSH sesijas pēc atvienošanas.
Ja kādreiz esat izgājis SSH sesijas atvienošanas problēmu un zināt, cik tas var būt kaitinoši, lūdzu, dalieties savā pieredzē ar mums. Un arī komentējiet, ja komentāru sadaļā jums ir kaut kas jāpievieno vai jālūdz kaut kas saistīts ar šo ziņu. Neaizmirstiet kopīgot šo ziņu ar draugiem sociālajos tīklos.