SSH (Secure Shell) je šifrirani mrežni sustav s kraja na kraj koji omogućava korisnicima daljinski pristup s klijenta na poslužitelj ili sustav. Zbog svog asimetričnog sigurnosnog sustava kriptografije, prilično je siguran i siguran pristup poslužitelju čak i iz nesigurne klijentske mreže. No ponekad se zbog neaktivnosti ili lošeg mrežnog signala SSH daljinski pristup može prekinuti. Bez obzira na razlog, kao Linux administrator, vitalni je posao održavati SSH sesije i procese pokrenutim nakon prekida veze.
Razlozi zbog kojih se SSH sesije prekidaju
Ukratko, pogreška proxyja SSH tunela, mrežno vrijeme čekanja, pogrešan mrežni priključak ili čak nije prijavljen u vaš sustav kao root korisnik također vas može odvojiti od udaljene administracije SSH. U ovom ćemo postu razgovarati o najčešće postavljanom pitanju o SSH; kako održavati SSH sesije i procese nakon pokretanja prekida veze.
1. Nastavite izvoditi SSH sesije koristeći zaslon
Naredba
The zaslon
naredba je najkorištenija i najkorisnija naredba za SSH administraciju. The zaslon
naredba može riješiti probleme s imenom hosta za IPv4 i IPv6 adrese. S korijenskim funkcionalnostima, zaslon
naredba se može odjaviti ili odbaciti sesiju s kraja klijenta na kraj poslužitelja. Ako ste vrlo novi korisnik Linux SSH-a, evo nekoliko CLI-a koji vam mogu pomoći da instalirate i pronađete priručnike za zaslon
naredba.
Za Ubuntu:
$ sudo apt instalacijski zaslon
Za OpenSUSE:
$ sudo zypper ekran za instalaciju
Za Arch Linux:
$ sudo pacman -S zaslon
Za Red Hat Enterprise Linux:
$ sudo yum instalacijski zaslon
Nakon što završite s instalacijom, počnite nadgledati početni zaslon sustava.
$ zaslon $ zaslon - pomoć
Jednom kada imate pristup, SSH na poslužitelj, želite pristupiti na daljinu. Ako planirate dugi noćni rad sa svoje stanice, ali ne želite spustiti svog SSH klijenta, možete koristiti zaslon
naredba. To može odvojiti vašu sesiju zaslona, ali bez brige, zadaci koje ste pokrenuli bit će dovršeni.
Za odvajanje zaslona pritisnite Ctrl-A
i onda Ctrl-D
s vaše tipkovnice. Možete se prijaviti za praćenje napretka u bilo kojem trenutku sa svog terminala. Da biste se ponovno povezali ili povezali s postojećim sa sesijom, upotrijebite sljedeći CLI.
$ zaslon -r zaslon -D -r
2. Nastavite izvoditi SSH sesije koristeći tmux
Alat
Tmux ili terminalni multiplekser vrlo je popularan i koristan alat za programere i administratore sustava koji omogućava korisnicima da se prebacuju s programa na program na istom terminalu. Da bi SSH sesije radile u pozadini, tmux
može biti vrlo brzo rješenje. Može odvojiti i ponovo spojiti programe gdje se procesi neprestano izvode u pozadini. Evo upute za instalaciju tmux
za Linux distribucije.
Za Arch Linux:
$ sudo pacman -S tmux
Za Red Hat Enterprise Linux:
$ sudo yum instaliraj tmux
Za Ubuntu:
$ sudo apt-get instalirati tmux
Za OpenSUSE:
$ sudo zypper instalirajte tmux
Nakon instalacije tmux
, pokrenite tmux sesija
pomoću naredbi terminala. Instalacija vam neće trebati puno vremena. Nakon što završite s instalacijom, sada možete započeti s radom tmux
. Početi tmux
, samo upišite tmux u terminal.
$ tmux
Ako trebate pokrenuti više od jednog terminalnog multipleksera da bi sve SSH sesije radile u pozadini, u tom ćete slučaju možda naići na poteškoće pri prebacivanju između tmux
do tmux
. Evo naredbenih redaka za prebacivanje s jednog oblika na drugi.
$ tmux odvoji $ tmux attach $ tmux attach -t 2
Da biste provjerili sve tmux
zaslon upotrijebite tmux popis
naredba.
$ tmux ls
3. Nastavite izvoditi SSH sesije koristeći byobu
Alat
Alat byobu uglavnom se koristi za udaljenu SSH administraciju i nadzor na ekranu na Linuxu. To je softver otvorenog koda i može se koristiti zajedno s tmux
ili zaslon
alat. Možete vidjeti trenutni status, obavijesti i poruke pomoću byobu
alat. Iako je byobu
dolazi standardno instaliran s Ubuntuom. Ali ako se ne dogodi, možete ga instalirati unutar vašeg Linux računala. Da provjerim je li byobu
je instaliran ili nije u vašem sustavu provjerom ostalih verzija byobua.
$ byobu --verzija
Zatim omogućite byobu, to će vam pomoći zadržati SSH sesije u pozadini nakon čak i prekida veze.
$ byobu-enable
Ovdje su postupci instalacije objašnjeni s CLI-jem.
Za Ubuntu:
$ sudo apt install byobu
Za OpenSUSE:
$ sudo zypper addrepo https: // preuzimanje.opensuse.org / spremišta / uslužni programi / openSUSE_Leap_42.3 / komunalne usluge.repo
$ sudo zypper osvježi $ sudo zypper instaliraj byobu
Za Arch Linux:
$ yaourt -S byobu $ paker -S byobu
Za Red Hat Enterprise Linux:
$ sudo yum instaliraj byobu
Za Fedoru:
$ sudo dnf instaliraj byobu
Za početak byobu
, samo upišite byobu u terminal i pritisnite Enter.
$ byobu
Ako koristite tmux
ili zaslon
, možete birati i birati između bilo kojeg od njih za pozadinsku suradnju.
$ byobu-select-backend
Sada možete upravljati i održavati SSH sesije u pozadini nakon prekida veze pomoću funkcijskih tipki sistemske tipkovnice. Za početak rada sa SSH uz byobu pritisnite CTRL + SHIFT + F2
s tipkovnice kako biste omogućili SSH okruženje. Možete pomicati SSH sesije naprijed i natrag ALT + GORE
i ALT + DOLJE
.
Da biste prekinuli vezu sa svojim SSH sesijama, pritisnite F6
s tipkovnice. Ako tražite odvajanje, ali ne i prekid veze sa sesijom, eto. Da biste odvojili SSH sesije i još uvijek se povezali, pritisnite SHIFT + F6
. Evo još jedne dodatne tipkovne naredbe za vas. Pritisnite da biste zadržali aktualnost samo zaslona i zatvorili sve ostale prozore ALT + F6
.
4. Nastavite izvoditi SSH sesije koristeći nohup
Naredba
The nohup
ili naredba "bez prekida" vrlo je koristan alternativni alat za zaslon ili tmux. Također omogućuje korisnicima da SSH sesije rade i nakon prekida veze. The nohup
naredba govori sustavu da izvodi sve procese u pozadini izbjegavajući prekid signala (SIGHUP).
Da biste provjerili nohup
priručnici i opcije s vašeg Linux terminala, upišite sljedeću naredbu u terminal i pritisnite Enter.
$ nohup opcije
Da biste provjerili trenutno aktivne popise poslova, upotrijebite -l
naredba s vašeg terminala.
$ poslovi -l
Sada, za SSH vezu, kako biste izbjegli izgubljenu vezu i nastavili raditi sesije nakon prekida veze, upotrijebite naredbene retke nohup nakon vašeg posla. Izlazni popis svojih poslova možete dobiti i u tekstualnoj datoteci pomoću naredbe cat uz naredbu nohup.
$ nohup ./zdravo.sh $ mačka nohup.van
Da biste pokrenuli postupak u pozadini, možete koristiti &
simbol odmah nakon nohup
naredba. Kao, ako želim testirati ping za wordpress-408970-1286763.cloudwaysapps.com u pozadini, naredbeni redak bit će poput sljedećeg retka u nastavku. A kada mislite da je vaš posao završen, za prikaz ishoda upotrijebite pgrep
naredba.
$ nohup ping ubuntupit.com & $ pgrep -ping
5. Nastavite izvoditi SSH sesije koristeći odreći se
Naredba
Ako nemate privilegije korijena sustava, možda će ovaj riješiti vaš problem. The odreći se
naredba može učiniti bilo koji zadatak nenavedenim iz vašeg dnevnika pokrenutog sustava. Dakle, može sakriti postupak koji prolazi, kako bi izbjegao sve pogreške pri automatskoj odjavi ili prekid signala (SIGHUP). Zapravo možete upotrijebiti naredbu za upravljanje procesom diswon da biste održavali SSH sesije skrivanjem zadatka.
Da biste uklonili ili sakrili zadatak iz upravitelja zadataka, upotrijebite naredbu diswon u terminalu.
$ odricanje
Da biste provjerili trenutni status zadatka, upotrijebite trenutnu naredbu ljuske.
$ trenutna ljuska
Popis zadataka možete postaviti i pomoću naredbe terminala s jednom linijom.
$ odricanje poslova1 $ odricanje poslova1 poslovi2 ... poslovin
A da biste provjerili popis zadataka, upotrijebite -l
naredba.
$ poslovi -l
Da biste uklonili sve trenutne zadatke iz prozora, upišite -a
sintaksa koja slijedi naredbom disown.
$ odricanje -a
Da biste uklonili samo jedan ili izvršeni posao s prozora, upotrijebite -r
sintaksa nakon naredbe diswon.
$ odricanje -r
Sada za SSH, za pokretanje posla u pozadini nakon povezivanja sesije, koristite -h
sintaksa. Ovaj postupak može održavati vaše SSH sesije aktivnima čak i nakon prekida veze.
$ disown -h jobID $ disown -h% 2
Učvršćivanje pauza
Pogreška SSH-a u RHEL-u
Kad ste povezani sa SSH-om na Red Hat Enterprise Linuxu (RHEL), možda ćete dobiti čest problem s vremenskim ograničenjem i izgubiti vezu. Do ovog problema dolazi zbog nevaljanog vremena odgovora bilo na kraju klijenta bilo na kraju hosta. U svom korijenskom direktoriju Red Hat-a morate pronaći i urediti sshd_config.txt
datoteku za rješavanje problema s vremenskim ograničenjem. Kad završite, SSH vezu možete vratiti čak i nakon prekida veze.
Tamo unutar sshd_config.txt
, Datoteka naći ćete dvije mogućnosti nazvane ClientAliveInterval
i ClientAliveCountMax
, morate urediti ove datoteke dnevnika kako biste povećali vrijeme odziva poslužitelja na klijenta. Interval vremenskog ograničenja izračunava se množenjem vrijednosti ClientAliveInterval i ClientAliveCountMax.
Sve što trebate je urediti vremensko trajanje ove dvije vrijednosti u skladu s trajanjem odgovora vašeg sustava i mreže. Dopustite da želite maksimalno povećati vrijeme 10 minuta za kraj intervala klijenta i 5 puta za broj klijenta, a zatim svoj registar teksta unutar sshd_config.txt
datoteka bit će kao u nastavku. A zatim ponovno pokrenite SSH.
ClientAliveInterval 10m ClientAliveCountMax 5
Završne misli
Za administratora sustava održavanje SSH sesija i procesa ključni je posao za zadovoljenje klijenta i ispunjenje zadatka. Isključivanje i gubljenje čestih sesija vrlo je neugodno i smeta. U ovom postu pokušali smo raspraviti i ilustrirati razloge zbog kojih se SSH sesije prekidaju, a također smo opisali sve moguće metode kako održavati SSH sesije nakon prekida veze.
Ako ste ikad prošli gnjavažu oko prekida veze SSH sesije i znate koliko bi to moglo biti dosadno, podijelite svoje iskustvo s nama. A također komentirajte ako imate nešto za dodati ili pitati bilo što vezano uz ovaj post u odjeljku za komentare. Ne zaboravite podijeliti ovaj post sa svojim prijateljima na društvenim mrežama.