SSH (Secure Shell) je šifrirani omrežni sistem, ki uporabnikom omogoča oddaljen dostop od odjemalca do strežnika ali sistema. Zaradi asimetričnega varnostnega sistema za kriptografijo je dostop do strežnika precej varen in varen tudi iz nevarnega odjemalskega omrežja. Toda včasih zaradi nedejavnosti ali slabega omrežnega signala lahko SSH oddaljeni dostop prekine. Ne glede na razlog je kot skrbnik Linuxa nujno, da po prekinitvi povezave SSH seje in procesi delujejo.
Razlogi, zakaj seje SSH prekinejo povezavo
Na kratko, napaka strežnika proxyja tunela SSH, časovna omejitev omrežja, uporaba napačnih omrežnih vrat ali celo če niste prijavljeni v sistem, ker vas root uporabnik lahko tudi odklopi od oddaljene administracije SSH. V tej objavi bomo razpravljali o najpogostejših vprašanjih o SSH; kako obdržati seje in procese SSH, ki se izvajajo po prekinitvi povezave.
1. Nadaljujte z izvajanjem sej SSH z uporabo zaslon
Ukaz
The zaslon
ukaz je najbolj uporabljen in uporaben ukaz za upravljanje SSH. The zaslon
ukaz lahko reši težave z imeni gostitelja za naslove IPv4 in IPv6. S korenskimi funkcionalnostmi je zaslon
ukaz se lahko odjavi ali zavrne sejo s konca odjemalca na konec strežnika. Če ste zelo novinec v Linux SSH, je tukaj nekaj CLI, ki vam lahko pomaga pri namestitvi in iskanju priročnikov za zaslon
ukaz.
Za Ubuntu:
$ sudo apt namestitveni zaslon
Za OpenSUSE:
Zaslon za namestitev $ sudo zypper
Za Arch Linux:
$ sudo pacman -S zaslon
Za Red Hat Enterprise Linux:
$ sudo yum namestitveni zaslon
Ko končate z namestitvijo, začnite spremljati začetni zaslon sistema.
$ screen $ screen --help
Ko imate dostop, SSH do strežnika, želite dostopati na daljavo. Če načrtujete dolgo nočno delo s postaje, vendar ne želite spraviti odjemalca SSH, lahko uporabite zaslon
ukaz. To lahko loči zaslon na zaslonu, vendar brez skrbi, naloge, ki ste jih začeli, bodo dokončane.
Za odstranitev zaslona pritisnite Ctrl-A
in potem Ctrl-D
s tipkovnice. Lahko se kadar koli prijavite in spremljate napredovanje dela s svojega terminala. Če se želite z sejo znova povezati ali povezati z obstoječo, uporabite naslednji CLI.
$ zaslon -r zaslon -D -r
2. Nadaljujte z izvajanjem sej SSH z uporabo tmux
Orodje
Tmux ali terminalni multiplekser je zelo priljubljeno in uporabno orodje za programerje in sistemske skrbnike, ki uporabnikom omogoča preklop med programi na programi v istem terminalu. Da se seje SSH še naprej izvajajo v ozadju, tmux
je lahko zelo hitra rešitev. Lahko loči in znova pritrdi programe, kjer se procesi izvajajo v ozadju. Tu je navodilo za namestitev tmux
za distribucijske sisteme Linux.
Za Arch Linux:
$ sudo pacman -S tmux
Za Red Hat Enterprise Linux:
$ sudo yum namestite tmux
Za Ubuntu:
$ sudo apt-get namestite tmux
Za OpenSUSE:
$ sudo zypper namestite tmux
Po namestitvi tmux
, zaženite seja tmux
z uporabo terminalskih ukazov. Namestitev ne bo trajala veliko časa. Ko končate z namestitvijo, lahko zdaj začnete tmux
. Začeti tmux
, v terminal vnesite samo tmux.
$ tmux
Če morate zagnati več kot en terminalski multiplekser, da bodo vse seje SSH delovale v ozadju, boste v tem primeru morda imeli težave pri preklopu med tmux
do tmux
. Tu so ukazne vrstice za preklop med oblikami.
$ tmux odstrani $ tmux attach $ tmux attach -t 2
Če želite preveriti vse tmux
zaslon uporabite tmux seznam
ukaz.
$ tmux ls
3. Nadaljujte z izvajanjem sej SSH z uporabo byobu
Orodje
Orodje byobu se večinoma uporablja za oddaljeno upravljanje SSH in nadzor na zaslonu v Linuxu. Je odprtokodna programska oprema in se lahko uporablja skupaj z tmux
ali zaslon
orodje. Trenutno stanje, obvestila in sporočila si lahko ogledate s byobu
orodje. Čeprav byobu
privzeto nameščen z Ubuntujem. Če pa se ne, ga lahko namestite v vaš računalnik Linux. Če želite preveriti, ali byobu
nameščen ali ne v vašem sistemu s preverjanjem drugih različic byobu.
$ byobu --verzija
Nato omogočite byobu, pomagalo vam bo, da bodo vaše seje SSH delovale v ozadju tudi po prekinitvi povezave.
$ byobu-enable
Tu so postopki namestitve razloženi s CLI.
Za Ubuntu:
$ sudo apt install byobu
Za OpenSUSE:
$ sudo zypper addrepo https: // prenos.opensuse.org / repozitoriji / pripomočki / openSUSE_Leap_42.3 / komunalne storitve.repo
$ sudo zypper osveži $ sudo zypper namestite byobu
Za Arch Linux:
$ yaourt -S byobu $ packer -S byobu
Za Red Hat Enterprise Linux:
$ sudo yum namestite byobu
Za Fedoro:
$ sudo dnf namestite byobu
Za začetek byobu
, v terminal vnesite byobu in pritisnite Enter.
$ byobu
Zdaj, če uporabljate tmux
ali zaslon
, lahko izbirate in izbirate med katerim koli za zaledno sodelovanje.
$ byobu-select-backend
Zdaj lahko po prekinitvi povezave upravljate in ohranjate svoje seje SSH v ozadju z uporabo funkcijskih tipk sistemske tipkovnice. Za začetek uporabe SSH poleg byobuja pritisnite CTRL + SHIFT + F2
s tipkovnice, da omogočite SSH okolje. Svoje seje SSH lahko premikate naprej in nazaj ALT + GOR
in ALT + DOL
.
Če želite prekiniti povezavo s sejami SSH, pritisnite F6
s tipkovnice. Zdaj, če iščete ločitev, ne pa tudi prekinitve seje, tukaj ste. Če želite ločiti seje SSH in še vedno vzpostaviti povezavo, pritisnite SHIFT + F6
. Tu je še en dodaten ukaz na tipkovnici za vas. Pritisnite, da ohranite aktualno samo sejo zaslona in zaprete vsa druga okna ALT + F6
.
4. Nadaljujte z izvajanjem sej SSH z uporabo nohup
Ukaz
The nohup
ali ukaz 'no hangup' je zelo uporabno nadomestno orodje za zaslon ali tmux. Uporabnikom omogoča tudi, da seje SSH delujejo tudi po tem, ko so prekinjene. The nohup
ukaz sistemu sporoči, naj zažene vse procese v ozadju, tako da se izogne prekinitvi signala (SIGHUP).
Če želite preveriti nohup
priročniki in možnosti iz vašega terminala Linux, vnesite naslednji ukaz v terminal in pritisnite Enter.
$ nohup možnosti
Če želite preveriti trenutno aktivne sezname opravil, uporabite -l
ukaz s svojega terminala.
$ delovnih mest -l
Zdaj za povezavo SSH, da se izognete prekinitvi povezave in ohranite seje po prekinitvi, uporabite ukazne vrstice nohup, ki jih spremlja vaše. Izhodni seznam svojih opravil lahko dobite tudi v besedilni datoteki z ukazom cat poleg ukaza nohup.
$ nohup ./zdravo.sh $ mačka nohup.ven
Za zagon procesa v ozadju lahko uporabite &
takoj za znakom nohup
ukaz. Če bi rad preizkusil ping za wordpress-408970-1286763.cloudwaysapps.com v ozadju bo ukazna vrstica podobna spodnji vrstici. In ko mislite, da je vaše delo končano, uporabite rezultat pgrep
ukaz.
$ nohup ping ubuntupit.com & $ pgrep -ping
5. Nadaljujte z izvajanjem sej SSH z uporabo odreči
Ukaz
Če nimate sistemskih korenskih pravic, bo morda ta rešil vaš problem. The odreči
ukaz lahko katero koli nalogo uvrsti iz svojega dnevnika sistemskega sistema. Tako lahko skrije postopek, da se izogne vsem napakam pri samodejni odjavi ali prekinitvi signala (SIGHUP). Dejansko lahko z ukazom za upravljanje procesa odklopite, da seje SSH nadaljujejo, tako da skrijete svojo nalogo.
Če želite svojo nalogo odstraniti ali skriti pred upraviteljem opravil, uporabite ukaz dison v terminalu.
$ odreči
Če želite preveriti trenutno stanje naloge, uporabite trenutni ukaz lupine.
$ trenutna lupina
Seznam nalog lahko nastavite tudi v eno vrstnem terminalskem ukazu.
$ odrekanih delovnih mest1 $ odrekanih delovnih mest1 delovnih mest2 ... delovnih mestn
Če želite preveriti seznam opravil, uporabite -l
ukaz.
$ delovnih mest -l
Če želite iz okna odstraniti vsa trenutna opravila, vnesite -a
sintaksa, ki ji sledi ukaz disown.
$ odreči -a
Če želite iz okna odstraniti samo eno ali tekoče opravilo, uporabite -r
sintaksa, ki ji sledi ukaz diswon.
$ odreči -r
Zdaj za SSH za zagon opravila v ozadju po povezavi seje uporabite -h
skladnja. S tem postopkom lahko vaše seje SSH delujejo tudi po prekinitvi povezave.
$ disown -h jobID $ disown -h% 2
Popravljanje odmor
Napaka SSH v RHEL
Ko ste povezani s SSH na Red Hat Enterprise Linux (RHEL), boste morda imeli pogoste težave s časovno omejitvijo in izgubili povezavo. Ta težava nastane zaradi neveljavnega odzivnega časa v obliki odjemalskega ali gostiteljskega konca. V korenskem imeniku Red Hat morate poiskati in urediti sshd_config.txt
datoteko za rešitev te težave s časovno omejitvijo. Ko končate, lahko SSH povezavo dobite nazaj tudi po prekinitvi povezave.
Tam znotraj sshd_config.txt
, v datoteki najdete dve možnosti, imenovani ClientAliveInterval
in ClientAliveCountMax
, te dnevniške datoteke morate urediti, da povečate odzivni čas strežnika in odjemalca. Interval časovne omejitve se izračuna tako, da se pomnožijo vrednosti ClientAliveInterval in ClientAliveCountMax.
Vse, kar potrebujete, je urediti časovno trajanje teh dveh vrednosti glede na odziv vašega sistema in omrežja. Dovolite, da želite maksimizirati čas 10 minut za konec odjemalskega intervala in 5-krat za odjemalsko število, nato pa vaš besedilni register znotraj sshd_config.txt
datoteka bo kot spodaj. Nato znova zaženite SSH.
ClientAliveInterval 10m ClientAliveCountMax 5
Končne misli
Za sistemskega skrbnika je vzdrževanje sej in procesov SSH ključnega pomena za zadovoljitev odjemalca in izpolnitev naloge. Odklop in pogoste seje so zelo moteči in moteči. V tem prispevku smo poskušali razpravljati in ponazoriti razloge, zaradi katerih se seje SSH prekinejo, ter opisali vse možne metode, kako ohraniti sejo SSH po prekinitvi povezave.
Če ste kdaj šli skozi težave z odklopom seje SSH in veste, kako nadležno bi lahko bilo, prosimo, delite svoje izkušnje z nami. Komentirajte tudi, če imate kaj dodati ali vprašati kar koli v zvezi s to objavo v oddelku za komentarje. Ne pozabite deliti te objave s prijatelji na družbenih omrežjih.