SSH („Secure Shell“) yra visiško šifruoto tinklo sistema, leidžianti vartotojams nuotoliniu būdu pasiekti kliento prie serverio ar sistemos prieigą. Dėl asimetrinės kriptografijos apsaugos sistemos beveik saugu ir saugu prieiti prie serverio net iš nesaugaus kliento tinklo. Tačiau kartais dėl neveiklumo ar blogo tinklo signalo SSH nuotolinė prieiga gali būti atjungta. Kad ir kokia būtų priežastis, kaip „Linux“ administratoriui, gyvybiškai svarbu išlaikyti SSH sesijas ir procesus po atjungimo.
Priežastys, kodėl SSH sesijos atsijungia
Trumpai tariant, SSH tunelio tarpinio serverio klaida, tinklo skirtasis laikas, netinkamo tinklo prievado naudojimas ar net neprisijungęs prie sistemos kaip root vartotojas taip pat gali jus atjungti nuo SSH nuotolinio administravimo. Šiame įraše aptarsime dažniausiai užduodamą klausimą apie SSH; kaip palaikyti SSH sesijų ir procesų veikimą įvykus atjungimui.
1. Toliau vykdykite SSH sesijas naudodami ekranas
Komanda
The ekranas
komanda yra labiausiai naudojama ir naudinga komanda SSH administravimui. The ekranas
komanda gali išspręsti tiek IPv4, tiek IPv6 adresų pagrindinio kompiuterio pavadinimo problemas. Su šaknies funkcijomis, ekranas
komanda gali atsijungti arba atmesti seansą nuo kliento iki serverio pabaigos. Jei esate labai naujokas „Linux SSH“, čia yra keletas CLI, kurie gali padėti jums įdiegti ir rasti ekranas
komandą.
„Ubuntu“:
$ sudo apt diegimo ekranas
„OpenSUSE“:
$ sudo zypper diegimo ekranas
„Arch Linux“:
$ sudo pacman -S ekranas
„Red Hat Enterprise Linux“:
$ sudo yum diegimo ekranas
Baigę diegti, pradėkite stebėti savo sistemos pradžios ekraną.
$ ekranas $ ekranas - pagalba
Kai turėsite prieigą, SSH į serverį, norite gauti prieigą nuotoliniu būdu. Jei planuojate ilgą naktinį darbą iš savo stoties, bet nenorite nuvilti SSH kliento, galite naudoti ekranas
komandą. Tai gali atsieti ekrano sesiją, bet nesijaudinkite, jūsų pradėtos užduotys bus atliktos.
Norėdami atjungti ekraną, paspauskite „Ctrl-A“
ir tada „Ctrl-D“
iš klaviatūros. Galite bet kada prisijungti, kad galėtumėte stebėti darbo eigą iš savo terminalo. Norėdami iš naujo prisijungti arba prisijungti prie esamo su seansu, naudokite šį CLI.
$ ekranas -r ekranas -D -r
2. Toliau vykdykite SSH sesijas naudodami tmux
Įrankis
„Tmux“ arba terminalo multiplekseris yra labai populiarus ir naudingas įrankis programuotojams ir sistemos administratoriams, leidžiantis vartotojams pereiti nuo programos prie programos tame pačiame terminale. Kad SSH sesijos veiktų fone, tmux
gali būti labai greitas sprendimas. Tai gali atsieti ir iš naujo prijungti programas, kur procesai vyksta fone. Čia yra tmux
skirta „Linux“ distros.
„Arch Linux“:
$ sudo pacman -S tmux
„Red Hat Enterprise Linux“:
$ sudo yum įdiekite „tmux“
„Ubuntu“:
$ sudo apt-get install tmux
„OpenSUSE“:
$ sudo zypper įdiekite tmux
Įdiegę tmux
, pradėti tmux sesija
naudojant terminalo komandas. Norėdami įdiegti, nereikės daug laiko. Baigę diegti galite pradėti tmux
. Pradėti tmux
, tiesiog įveskite tmux terminale.
$ tmux
Jei reikia paleisti daugiau nei vieną terminalo tankintuvą, kad visi SSH seansai vyktų fone, tokiu atveju gali kilti sunkumų perjungiant tmux
į tmux
. Čia pateikiamos komandinės eilutės, kad būtų galima perjungti vieną kitą formą.
$ tmux detach $ tmux attach $ tmux attach -t 2
Norėdami patikrinti visus tmux
ekrane naudokite tmux sąrašą
komandą.
$ tmux ls
3. Toliau vykdykite SSH sesijas naudodami byobu
Įrankis
„Byobu“ įrankis dažniausiai naudojamas nuotoliniam SSH administravimui ir „Linux“ ekrano stebėjimui. Tai yra atviro kodo programinė įranga ir gali būti naudojama kartu su tmux
arba ekranas
įrankis. Galite pamatyti dabartinę būseną, pranešimus ir pranešimus naudodami byobu
įrankis. Nors byobu
pagal numatytuosius nustatymus įdiegta kartu su „Ubuntu“. Bet jei taip nėra, galite jį įdiegti savo „Linux“ kompiuteryje. Norėdami patikrinti, ar byobu
yra įdiegtas ar ne jūsų sistemoje, patikrindamas kitas „byobu“ versijas.
$ byobu --versija
Tada įjunkite „byobu“, tai padės išlaikyti jūsų SSH seansus fone net atjungus.
$ byobu-enable
Čia diegimo procesai paaiškinami naudojant CLI.
„Ubuntu“:
$ sudo apt įdiekite byobu
„OpenSUSE“:
$ sudo zypper addrepo https: // atsisiųsti.opensuse.org / repositories / utilities / openSUSE_Leap_42.3 / komunalinės paslaugos.atpirkimas
$ sudo zypper atnaujinti $ sudo zypper įdiegti byobu
„Arch Linux“:
$ yaourt -S byobu $ packer -S byobu
„Red Hat Enterprise Linux“:
$ sudo yum įdiekite byobu
„Fedora“:
$ sudo dnf įdiekite byobu
Norėdami pradėti byobu
, tiesiog įveskite byobu į terminalą ir paspauskite Enter.
$ byobu
Dabar, jei naudojate tmux
arba ekranas
, galite pasirinkti bet kurį iš jų, kad galėtumėte bendradarbiauti.
$ byobu-select-backend
Dabar, atjungę, galite valdyti ir išlaikyti savo SSH sesijas fone, naudokite sistemos klaviatūros funkcinius klavišus. Norėdami pradėti naudoti SSH kartu su byobu, paspauskite CTRL + SHIFT + F2
iš klaviatūros, kad įgalintumėte SSH aplinką. Galite naudoti SSH sesijas pirmyn ir atgal ALT + UP
ir ALT + ŽEMYN
.
Norėdami atjungti SSH sesijas, paspauskite F6
iš klaviatūros. Dabar, jei ieškote atsijungimo, bet neatjungiate seanso, štai. Norėdami atsieti SSH sesijas ir vis tiek prisijungti, paspauskite SHIFT + F6
. Čia yra dar viena papildoma klaviatūros komanda jums. Jei norite, kad ekrano sesija būtų aktyvi ir uždarytumėte visus kitus langus, paspauskite ALT + F6
.
4. Toliau vykdykite SSH sesijas naudodami nohup
Komanda
The nohup
arba „no hangup“ komanda yra labai naudinga alternatyvi ekrano ar „tmux“ priemonė. Tai taip pat leidžia vartotojams išlaikyti SSH seansus net ir jiems atjungus. The nohup
komanda liepia sistemai vykdyti visus procesus fone, vengiant signalo padėjimo (SIGHUP).
Norėdami patikrinti nohup
vadovai ir parinktys sudaro jūsų „Linux“ terminalą, įveskite šią komandą terminale ir paspauskite „Enter“.
$ nohup parinktys
Norėdami patikrinti šiuo metu aktyvių darbų sąrašus, naudokite -l
komandą iš savo terminalo.
$ darbo vietų -l
Jei norite išvengti ryšio praradimo ir palaikyti sesijas po atjungimo, naudokite SSH ryšį naudodami „nohup“ komandų eilutes, nurodytas jūsų darbe. Taip pat galite gauti savo darbų išvesties teksto faile sąrašą naudodami komandą cat kartu su komanda nohup.
$ nohup ./Sveiki.sh $ cat nohup.išėjo
Norėdami vykdyti procesą fone, galite naudoti &
simbolis iškart po nohup
komandą. Pvz., Jei noriu išbandyti ping „WordPress-408970-1286763“.cloudwaysapps.com fone, komandinė eilutė bus tokia pati kaip žemiau esanti eilutė. Kai manote, kad jūsų darbas atliktas, naudokitės pgrep
komandą.
$ nohup ping ubuntupit.com & $ pgrep -a ping
5. Toliau vykdykite SSH sesijas naudodami išsižadėti
Komanda
Jei neturite sistemos šakninių teisių, galbūt ši išspręs jūsų problemą. The išsižadėti
komanda gali padaryti bet kurią užduotį neįtrauktą į jūsų veikiančios sistemos žurnalą. Taigi, jis gali paslėpti vykstantį procesą, kad būtų išvengta visų automatinio atsijungimo klaidų ar signalo pakabinimo (SIGHUP). Jūs iš tikrųjų galite naudoti proceso atšaukimo komandą, kad SSH sesijos veiktų slėpdami užduotį.
Norėdami pašalinti arba paslėpti užduotį iš užduočių tvarkyklės, naudokite terminale esančią komandą „diswon“.
$ išsižadėti
Norėdami patikrinti dabartinę užduoties būseną, naudokite dabartinę apvalkalo komandą.
$ dabartinis apvalkalas
Taip pat galite nustatyti užduočių sąrašą naudodami vienos eilutės terminalo komandą.
$ atsisakyti darbo vietų1 $ atsisakyti darbo vietų1 darbo vietų2 ... darbo vietų n
Norėdami patikrinti užduočių sąrašą, naudokite -l
komandą.
$ darbo vietų -l
Norėdami pašalinti visas dabartines užduotis iš lango, įveskite -a
sintaksė, sekanti komandą atsisakyti.
$ išsižadėti -a
Norėdami pašalinti iš lango tik vieną arba vykdomą užduotį, naudokite -r
sintaksė, sekanti komandą „diswon“.
$ atsisakyti -r
Dabar, jei norite prisijungti prie sesijos, naudodami SSH, naudokite -h
sintaksė. Šis procesas gali išlaikyti jūsų SSH sesijas net ir atjungus.
$ disown -h darbasID $ disown -h% 2
Tvirtinimas laikas baigėsi
SSH klaida RHEL
Kai prisijungsite prie „Red Hat Enterprise Linux“ (RHEL) SSH, gali kilti dažna skirtojo laiko problema ir prarasti ryšį. Ši problema kyla dėl neteisingo atsakymo laiko formos iš kliento pabaigos arba pagrindinio kompiuterio pabaigos. „Red Hat“ šakniniame kataloge turite surasti ir redaguoti sshd_config.txt
failą, kad išspręstumėte šias skirtojo laiko problemas. Baigę galėsite atkurti SSH ryšį net ir atjungę.
Ten viduje sshd_config.txt
, faile rasite dvi parinktis, pavadintas kaip „ClientAliveInterval“
ir „ClientAliveCountMax“
, jums reikia redaguoti šiuos žurnalo failus, kad maksimaliai padidintumėte serverio atsakymo į klientą laiką. Pertraukos intervalas apskaičiuojamas padauginus „ClientAliveInterval“ ir „ClientAliveCountMax“ reikšmes.
Viskas, ko jums reikia, yra redaguoti šių dviejų reikšmių trukmę pagal jūsų sistemos ir tinklo atsakymo trukmę. Leiskite maksimaliai padidinti kliento intervalo pabaigos laiką 10 minučių ir kliento skaičiavimo laiką 5 kartus, tada jūsų teksto registrą sshd_config.txt
failas bus kaip žemiau. Tada iš naujo paleiskite SSH.
„ClientAliveInterval“ 10 m „ClientAliveCountMax 5“
Paskutinės mintys
Sistemos administratoriui SSH sesijų ir procesų vykdymas yra nepaprastai svarbus darbas, norint patenkinti klientą ir įvykdyti užduotį. Prarasti atsijungusius ir dažnai seansus yra labai erzina ir vargina. Taigi šiame įraše mes bandėme aptarti ir iliustruoti priežastis, kodėl SSH sesijos atjungiamos, taip pat aprašėme visus galimus metodus, kaip išlaikyti SSH sesijas po atjungimo.
Jei kada nors patyrėte sunkumų dėl SSH sesijos atjungimo ir žinote, kaip tai gali erzinti, pasidalykite savo patirtimi su mumis. Be to, komentuokite, jei turite ką pridėti ar paklausti nieko, kas susiję su šiuo įrašu komentarų skyriuje. Nepamirškite pasidalinti šiuo įrašu su draugais socialiniuose tinkluose.