SSH (Secure Shell) je komplexný šifrovaný sieťový systém, ktorý umožňuje používateľom získať vzdialený prístup z klienta na server alebo do systému. Vďaka svojmu asymetrickému bezpečnostnému systému kryptografie je prístup k serveru bezpečný aj z nebezpečnej siete klientov. Ale niekedy kvôli nečinnosti alebo zlému sieťovému signálu sa môže vzdialený prístup SSH odpojiť. Nech už je dôvod akýkoľvek, ako správca systému Linux je nevyhnutné udržiavať relácie SSH a procesy v prevádzke aj po odpojení.
Dôvody, prečo sú relácie SSH odpojené
Stručne povedané, chyba proxy tunela SSH, časový limit siete, použitie nesprávneho sieťového portu alebo dokonca neprihlásenie do systému ako používateľa root vás môže tiež odpojiť od vzdialenej správy SSH. V tomto príspevku sa chystáme prediskutovať najčastejšie kladené otázky o SSH; ako udržať SSH relácie a procesy spustené po odpojení.
1. Pokračujte v behu relácií SSH pomocou obrazovka
Velenie
The obrazovka
príkaz je najpoužívanejší a najužitočnejší príkaz pre správu SSH. The obrazovka
príkaz môže vyriešiť problémy s názvom hostiteľa pre adresy IPv4 aj IPv6. S koreňovými funkciami je obrazovka
príkaz môže odhlásiť alebo zrušiť reláciu z konca klienta na koniec servera. Ak ste v Linuxe SSH úplným nováčikom, tu je niekoľko CLI, ktoré vám môžu pomôcť pri inštalácii a vyhľadávaní manuálov k Linuxu obrazovka
príkaz.
Pre Ubuntu:
$ sudo apt inštalačná obrazovka
Pre OpenSUSE:
$ sudo zypper inštalačná obrazovka
Pre Arch Linux:
$ sudo pacman -S obrazovka
Pre Red Hat Enterprise Linux:
$ sudo yum inštalačná obrazovka
Po dokončení inštalácie začnite monitorovať úvodnú obrazovku systému.
$ screen $ screen - pomoc
Po získaní prístupu SSH na server chcete získať prístup vzdialene. Ak plánujete zo svojej stanice prácu v noci, ale nechcete dostať svojho klienta SSH, môžete použiť obrazovka
príkaz. To vám môže odpojiť reláciu obrazovky, ale nemusíte sa báť, úlohy, ktoré ste iniciovali, sa dokončia.
Obrazovku odpojíte stlačením Ctrl-A
a potom Ctrl-D
z klávesnice. Môžete sa prihlásiť, aby ste mohli kedykoľvek sledovať priebeh práce z vášho terminálu. Ak sa chcete k relácii znova pripojiť alebo sa pripojiť k existujúcemu, použite nasledujúce CLI.
$ obrazovka -r obrazovka -D -r
2. Pokračujte v behu relácií SSH pomocou tmux
Nástroj
Tmux alebo multiplexer terminálov je veľmi populárny a užitočný nástroj pre programátorov a správcov systému, ktorý umožňuje používateľom prepínať medzi programami na rovnakom termináli. Ak chcete, aby relácie SSH bežali na pozadí, tmux
môže byť veľmi rýchle riešenie. Môže odpojiť a znova pripojiť aplikácie, kde sú procesy stále spustené na pozadí. Tu je návod na inštaláciu tmux
pre distribúciu Linuxu.
Pre Arch Linux:
$ sudo pacman -S tmux
Pre Red Hat Enterprise Linux:
$ sudo yum nainštalovať tmux
Pre Ubuntu:
$ sudo apt-get install tmux
Pre OpenSUSE:
$ sudo zypper nainštalovať tmux
Po inštalácii tmux
, spustiť relácia tmux
pomocou príkazov terminálu. Inštalácia nebude trvať veľa času. Po dokončení inštalácie môžete teraz začať s programom tmux
. Začať tmux
, stačí napísať tmux do terminálu.
$ tmux
Ak potrebujete spustiť viac ako jeden terminálový multiplexer, aby ste udržali všetky relácie SSH bežiace na pozadí, v takom prípade môžu nastať ťažkosti pri prepínaní medzi tmux
do tmux
. Tu sú príkazové riadky na prepínanie medzi formami.
$ tmux odpojiť $ tmux pripojiť $ tmux pripojiť -t 2
Ak chcete skontrolovať všetky tmux
obrazovka používa tmux zoznam
príkaz.
$ tmux ls
3. Pokračujte v behu relácií SSH pomocou byobu
Nástroj
Nástroj byobu sa väčšinou používa na vzdialenú správu SSH a monitorovanie na obrazovke v systéme Linux. Jedná sa o softvér pochádzajúci z otvoreného zdroja a je možné ho používať spolu s tmux
alebo obrazovka
nástroj. Aktuálny stav, upozornenia a správy môžete zobraziť pomocou byobu
nástroj. Aj keď byobu
je predvolene nainštalovaný s Ubuntu. Ak sa tak nestane, môžete ho nainštalovať do svojho počítača so systémom Linux. Skontrolovať, či byobu
je nainštalovaný alebo nie je vo vašom systéme skontrolovaním ostatných verzií byobu.
$ byobu --verzia
Potom povoľte byobu, pomôže vám to udržať vaše relácie SSH v chode na pozadí aj po odpojení.
$ byobu-povoliť
Tu sú inštalačné procesy vysvetlené pomocou CLI.
Pre Ubuntu:
$ sudo apt nainštalovať byobu
Pre OpenSUSE:
$ sudo zypper addrepo https: // stiahnuť.opensuse.org / repositories / utilities / openSUSE_Leap_42.3 / inžinierske siete.repo
$ sudo zypper refresh $ sudo zypper nainštalovať byobu
Pre Arch Linux:
$ yaourt -S byobu $ balič -S byobu
Pre Red Hat Enterprise Linux:
$ sudo yum nainštalovať byobu
Pre Fedoru:
$ sudo dnf nainštalovať byobu
Ak chcete začať s byobu
, stačí napísať byobu do terminálu a stlačiť Enter.
$ byobu
Teraz, ak používate tmux
alebo obrazovka
, môžete si vybrať a vybrať medzi ktorýmkoľvek z nich pre backendovú spoluprácu.
$ byobu-select-backend
Teraz môžete po odpojení spravovať a udržiavať vaše relácie SSH bežiace na pozadí pomocou funkčných klávesov systémovej klávesnice. Ak chcete začať s SSH po boku byobu, stlačte CTRL + SHIFT + F2
z klávesnice povoliť prostredie SSH. Na presunutie svojich relácií SSH dopredu a dozadu môžete použiť ALT + HORE
a ALT + NADOL
.
Ak chcete odpojiť vaše relácie SSH, stlačte F6
z klávesnice. Teraz, ak hľadáte odpojenie, ale nie prerušenie relácie, tu to máte. Ak chcete odpojiť relácie SSH a napriek tomu sa pripojiť, stlačte SHIFT + F6
. Je tu pre vás ďalší klávesový príkaz navyše. Ak chcete, aby bola aktívna iba aktuálna relácia obrazovky, a zatvorte všetky ostatné okná, stlačte ALT + F6
.
4. Pokračujte v behu relácií SSH pomocou nič
Velenie
The nič
alebo príkaz 'no hangup' je veľmi užitočný alternatívny nástroj pre obrazovku alebo tmux. Používateľom tiež umožňuje udržiavať relácie SSH v prevádzke aj po odpojení. The nič
príkaz povie systému, aby spustil všetky procesy na pozadí tak, že zabráni zaveseniu signálu (SIGHUP).
Ak chcete skontrolovať nič
príručky a možnosti z terminálu Linux, zadajte do terminálu nasledujúci príkaz a stlačte kláves Enter.
$ nohup možnosti
Aktuálne aktívne zoznamy úloh môžete skontrolovať pomocou -l
príkaz z vášho terminálu.
$ pracovných miest -l
Teraz, aby ste zabránili strate spojenia a udržali vaše relácie v prevádzke aj po odpojení, použite pripojenie SSH pomocou príkazových riadkov nohup sledovaných vašou úlohou. Zoznam výstupov vašich úloh môžete tiež získať v textovom súbore pomocou príkazu cat vedľa príkazu nohup.
$ nohup ./Ahoj.sh $ mačka nohup.von
Ak chcete spustiť proces na pozadí, môžete použiť &
symbol hneď za nič
príkaz. Páči sa mi, ak chcem otestovať príkaz ping pre wordpress-408970-1286763.cloudové aplikácie.com na pozadí, príkazový riadok bude rovnaký ako v nasledujúcom riadku nižšie. A keď si myslíte, že je vaša práca hotová, môžete vidieť výsledok pomocou pgrep
príkaz.
$ nohup ping ubuntupit.com & $ pgrep -a ping
5. Pokračujte v behu relácií SSH pomocou popierať
Velenie
Ak nemáte oprávnenie root systému, možno tento problém vyrieši. The popierať
príkazom sa môže stať ktorákoľvek úloha neuvedená v zozname spusteného systému. Môže teda skryť prebiehajúci proces, aby sa zabránilo všetkým chybám automatického odhlásenia alebo zaveseniu signálu (SIGHUP). Príkaz diswon process management môžete skutočne použiť na udržanie chodu vašich relácií SSH tak, že skryjete svoju úlohu.
Ak chcete odstrániť alebo skryť svoju úlohu v správcovi úloh, použite príkaz diswon v termináli.
$ odmietnutie
Aktuálny stav úlohy môžete skontrolovať pomocou príkazu current shell.
$ aktuálny shell
Zoznam úloh môžete nastaviť aj pomocou príkazu na jednom riadku terminálu.
$ disown jobs1 $ disown jobs1 jobs2… jobsn
Ak chcete skontrolovať zoznam úloh, použite -l
príkaz.
$ pracovných miest -l
Ak chcete z okna odstrániť všetky aktuálne úlohy, zadajte znak -a
syntax nasledovaná príkazom disown.
$ disown -a
Ak chcete z okna odstrániť iba jednu alebo spustenú úlohu, použite -r
syntax nasledovaná príkazom diswon.
$ disown -r
Teraz pre SSH na spustenie úlohy na pozadí po pripojení relácie použite -h
syntax. Tento proces môže udržať vaše relácie SSH v chode aj po odpojení.
$ disown -h jobID $ disown -h% 2
Oprava čas vypršal
Chyba SSH v RHEL
Keď ste pripojení k SSH v systéme Red Hat Enterprise Linux (RHEL), môžete mať častý problém s časovým limitom a stratiť pripojenie. Tento problém sa vyskytuje z dôvodu neplatného času odozvy na strane klienta alebo hostiteľa. V koreňovom adresári Red Hat musíte nájsť a upraviť sshd_config.TXT
súbor na vyriešenie týchto časových limitov. Po dokončení môžete svoje pripojenie SSH získať späť aj po odpojení.
Tam vo vnútri sshd_config.TXT
, súboru nájdete dve možnosti pomenované ako ClientAliveInterval
a ClientAliveCountMax
, musíte tieto súbory protokolu upraviť, aby ste maximalizovali čas odozvy servera na klienta. Interval časového limitu sa počíta vynásobením hodnôt ClientAliveInterval a ClientAliveCountMax.
Všetko, čo potrebujete, je upraviť časové trvanie týchto dvoch hodnôt podľa trvania vášho systému a siete. Nechajte maximalizovať čas 10 minút na konci klientskeho intervalu a 5 krát počet klientov, potom váš textový register vo vnútri sshd_config.TXT
súbor bude ako nižšie. A potom reštartujte SSH.
ClientAliveInterval 10 m ClientAliveCountMax 5
Záverečné myšlienky
Pre správcu systému je udržanie relácií SSH a procesov v prevádzke kľúčovou prácou na uspokojenie klienta a splnenie úlohy. Odpojenie a časté prerušenie relácií je veľmi nepríjemné a obťažujúce. Takže v tomto príspevku sme sa pokúsili diskutovať a ilustrovať dôvody, prečo sa relácie SSH odpojia, a tiež sme popísali všetky možné metódy, ako udržať relácie SSH v prevádzke po odpojení.
Ak ste niekedy prekonali ťažkosti s odpojením relácie SSH a viete, aké by to mohlo byť nepríjemné, podeľte sa s nami o svoje skúsenosti. A tiež urobte komentár, ak máte niečo pridať alebo sa spýtať na čokoľvek, čo sa týka tohto príspevku v sekcii komentárov. Nezabudnite tento príspevok zdieľať so svojimi priateľmi na sociálnych sieťach.