SSH (Secure Shell) je šifrovaný síťový systém typu end-to-end, který umožňuje uživatelům získat vzdálený přístup z klienta na server nebo do systému. Díky svému asymetrickému zabezpečovacímu systému kryptografie je docela bezpečný a bezpečný přístup k serveru i z nebezpečné klientské sítě. Ale někdy kvůli nečinnosti nebo špatnému síťovému signálu může být vzdálený přístup SSH odpojen. Ať už je důvod jakýkoli, jako správce Linuxu je zásadní úkol udržovat relace SSH a procesy spuštěné po odpojení.
Důvody, proč se relace SSH odpojují
Stručně řečeno, chyba proxy SSH tunelu, časový limit sítě, použití nesprávného síťového portu nebo dokonce není přihlášen do vašeho systému jako uživatel root vás také může odpojit od vzdálené správy SSH. V tomto příspěvku budeme diskutovat o nejčastěji kladené otázce týkající se SSH; jak udržet SSH relace a procesy spuštěné po odpojení.
1. Pokračujte v běhu relací SSH pomocí obrazovka
Příkaz
The obrazovka
příkaz je nejpoužívanější a nejužitečnější příkaz pro správu SSH. The obrazovka
příkaz může vyřešit problémy s názvem hostitele pro adresy IPv4 i IPv6. S kořenovými funkcemi je obrazovka
příkaz může odhlásit nebo zrušit relaci z konce klienta na konec serveru. Pokud jste v Linuxu SSH velmi nováčkem, zde je několik CLI, které vám mohou pomoci s instalací a vyhledáním příruček obrazovka
příkaz.
Pro Ubuntu:
$ sudo apt instalační obrazovka
Pro OpenSUSE:
$ sudo zypper instalační obrazovka
Pro Arch Linux:
$ sudo pacman -S obrazovka
Pro Red Hat Enterprise Linux:
$ sudo yum instalační obrazovka
Po dokončení instalace začněte sledovat úvodní obrazovku systému.
$ screen $ screen - pomoc
Jakmile máte přístup, SSH na server, chcete získat přístup na dálku. Pokud plánujete dlouhou noční práci ze své stanice, ale nechcete dostat svého klienta SSH dolů, můžete použít obrazovka
příkaz. To může odpojit vaši relaci na obrazovce, ale žádné starosti, úkoly, které jste zahájili, budou dokončeny.
Obrazovku odpojíte stisknutím Ctrl-A
a pak Ctrl-D
z klávesnice. Můžete se přihlásit a sledovat průběh práce kdykoli ze svého terminálu. Chcete-li se k relaci znovu připojit nebo se připojit k existujícímu, použijte následující rozhraní příkazového řádku.
$ obrazovka -r obrazovka -D -r
2. Pokračujte v běhu relací SSH pomocí tmux
Nářadí
Tmux nebo multiplexer terminálu je velmi populární a užitečný nástroj pro programátory a správce systému, který umožňuje uživatelům přepínat mezi programem na program ve stejném terminálu. Aby relace SSH běžely na pozadí, tmux
může být velmi rychlé řešení. Může odpojit a znovu připojit aplikace, kde jsou procesy stále spuštěny na pozadí. Zde je návod k instalaci tmux
pro distribuce Linuxu.
Pro Arch Linux:
$ sudo pacman -S tmux
Pro Red Hat Enterprise Linux:
$ sudo yum install tmux
Pro Ubuntu:
$ sudo apt-get install tmux
Pro OpenSUSE:
$ sudo zypper install tmux
Po instalaci tmux
, spustit relace tmux
pomocí příkazů terminálu. Instalace nebude trvat dlouho. Po dokončení instalace můžete začít s tmux
. Začít tmux
, stačí do terminálu zadat tmux.
$ tmux
Pokud potřebujete spustit více než jeden terminálový multiplexer, aby všechny relace SSH běžely na pozadí, v takovém případě může dojít k potížím s přepínáním mezi tmux
na tmux
. Zde jsou příkazové řádky pro přepínání z jednoho formuláře do druhého.
$ tmux odpojit $ tmux připojit $ tmux připojit -t 2
Zkontrolovat všechny tmux
obrazovka použijte tmux seznam
příkaz.
$ tmux ls
3. Pokračujte v běhu relací SSH pomocí byobu
Nářadí
Nástroj byobu se většinou používá pro vzdálenou správu SSH a monitorování na obrazovce v systému Linux. Jedná se o software s otevřeným zdrojovým kódem a lze jej použít společně s tmux
nebo obrazovka
nářadí. Aktuální stav, oznámení a zprávy můžete zobrazit pomocí byobu
nářadí. Ačkoli byobu
je ve výchozím nastavení nainstalován s Ubuntu. Pokud tomu tak není, můžete jej nainstalovat do počítače se systémem Linux. Zkontrolovat, zda byobu
je nainstalován nebo není ve vašem systému zkontrolováním ostatních verzí byobu.
$ byobu - verze
Poté povolte byobu, pomůže to udržet vaše relace SSH spuštěné na pozadí i po odpojení.
$ byobu-povolit
Zde jsou vysvětleny instalační procesy s CLI.
Pro Ubuntu:
$ sudo apt nainstalovat byobu
Pro OpenSUSE:
$ sudo zypper addrepo https: // stáhnout.opensuse.org / repositories / utilities / openSUSE_Leap_42.3 / služby.repo
$ sudo zypper refresh $ sudo zypper install byobu
Pro Arch Linux:
$ yaourt -S byobu $ packer -S byobu
Pro Red Hat Enterprise Linux:
$ sudo yum install byobu
Pro Fedoru:
$ sudo dnf install byobu
Chcete-li začít s byobu
, stačí do terminálu napsat byobu a stisknout Enter.
$ byobu
Nyní, pokud používáte tmux
nebo obrazovka
, můžete si vybrat a vybrat mezi kterýmkoli z nich pro backend spolupracoval.
$ byobu-select-backend
Nyní můžete po odpojení spravovat a udržovat vaše relace SSH spuštěné na pozadí, použijte funkční klávesy systémové klávesnice. Chcete-li začít s SSH vedle byobu, stiskněte CTRL + SHIFT + F2
z vaší klávesnice povolit prostředí SSH. Pro přesun relací SSH dopředu a dozadu můžete použít ALT + NAHORU
a ALT + DOLŮ
.
Chcete-li odpojit relace SSH, stiskněte F6
z klávesnice. Nyní, pokud hledáte odpojení, ale neodpojíte relaci, tady to máte. Chcete-li odpojit relace SSH a přesto se připojit, stiskněte SHIFT + F6
. Zde je pro vás ještě jeden další příkaz z klávesnice. Chcete-li udržovat aktivní pouze aktuální relaci obrazovky a zavřít všechna ostatní okna, stiskněte ALT + F6
.
4. Pokračujte v běhu relací SSH pomocí nic
Příkaz
The nic
nebo příkaz 'no hangup' je velmi užitečný alternativní nástroj pro obrazovku nebo tmux. Umožňuje také uživatelům udržovat relace SSH spuštěné i po odpojení. The nic
příkaz řekne systému, aby běžel všechny procesy na pozadí tím, že zabrání zavěšení signálu (SIGHUP).
Zkontrolovat nic
manuály a možnosti z terminálu Linux, zadejte do terminálu následující příkaz a stiskněte klávesu Enter.
$ nohup možnosti
Chcete-li zkontrolovat aktuálně aktivní seznamy úloh, použijte -l
příkaz z vašeho terminálu.
$ pracovních míst -l
Nyní pro připojení SSH, abyste zabránili ztrátě připojení a udrželi vaše relace v provozu i po odpojení, použijte příkazové řádky nohup, které následuje vaše úloha. Seznam výstupů vašich úloh můžete také získat v textovém souboru pomocí příkazu cat vedle příkazu nohup.
$ nohup ./Ahoj.sh $ cat nohup.ven
Ke spuštění procesu na pozadí můžete použít &
symbol hned za nic
příkaz. Stejně jako, když chci otestovat ping pro wordpress-408970-1286763.cloudové aplikace.com na pozadí, příkazový řádek bude stejně jako následující řádek níže. A když si myslíte, že je vaše práce hotová, abyste viděli výsledek, použijte pgrep
příkaz.
$ nohup ping ubuntupit.com & $ pgrep -a ping
5. Pokračujte v běhu relací SSH pomocí popřít
Příkaz
Pokud nemáte oprávnění root systému, možná tento problém vyřeší. The popřít
Příkaz může provést jakoukoli úlohu neuvedenou ze spuštěného systémového protokolu. Může tedy skrýt probíhající proces, aby se zabránilo všem chybám automatického odhlášení nebo zavěšení signálu (SIGHUP). Ve skutečnosti můžete pomocí příkazu diswon process management udržet své relace SSH v chodu skrytím úkolu.
Chcete-li úkol odebrat nebo skrýt ve správci úloh, použijte příkaz diswon v terminálu.
$ odmítnutí
Chcete-li zkontrolovat aktuální stav úlohy, použijte aktuální příkaz prostředí.
$ aktuální shell
Seznam úkolů můžete také nastavit pomocí příkazu terminálu na jednom řádku.
$ disown jobs1 $ disown jobs1 jobs2… jobsn
Chcete-li zkontrolovat seznam úkolů, použijte -l
příkaz.
$ pracovních míst -l
Chcete-li z okna odebrat všechny aktuální úlohy, zadejte -A
syntaxe následující příkazem disown.
$ disown -a
Chcete-li z okna odebrat pouze jednu nebo spuštěnou úlohu, použijte -r
syntaxe následující příkazem diswon.
$ disown -r
Nyní pro SSH použijte ke spuštění úlohy na pozadí po připojení relace -h
syntax. Tento proces může udržet vaše relace SSH spuštěné i po odpojení.
$ disown -h jobID $ disown -h% 2
Upevnění Časový limit
Chyba SSH v RHEL
Když jste připojeni k SSH na Red Hat Enterprise Linux (RHEL), může dojít k častému problému s vypršením časového limitu a ztrátě připojení. K tomuto problému dochází z důvodu neplatného času odezvy buď na straně klienta, nebo na konci hostitele. Ve svém kořenovém adresáři Red Hat musíte najít a upravit sshd_config.txt
soubor k vyřešení těchto problémů s časovým limitem. Až budete hotovi, můžete získat připojení SSH zpět i po odpojení.
Tam uvnitř sshd_config.txt
, souboru najdete dvě možnosti pojmenované jako ClientAliveInterval
a ClientAliveCountMax
, musíte tyto soubory protokolu upravit, abyste maximalizovali dobu odezvy serveru na klienta. Interval časového limitu se vypočítá vynásobením hodnot ClientAliveInterval a ClientAliveCountMax.
Vše, co potřebujete, je upravit dobu trvání těchto dvou hodnot podle doby trvání vašeho systému a sítě. Chcete maximalizovat čas 10 minut na konci klientského intervalu a 5krát na počet klientů, pak váš textový registr uvnitř sshd_config.txt
soubor bude jako níže. A poté restartujte SSH.
ClientAliveInterval 10 m ClientAliveCountMax 5
Závěrečné myšlenky
Pro správce systému je udržování relací SSH a procesů v provozu klíčovou úlohou pro uspokojení klienta a splnění úkolu. Odpojení a ztráta častých relací je velmi nepříjemné a obtěžující. Takže v tomto příspěvku jsme se pokusili diskutovat a ilustrovat důvody, proč se relace SSH odpojí, a také jsme popsali všechny možné metody, jak udržet relace SSH spuštěné po odpojení.
Pokud jste někdy prošli potížemi s odpojením relace SSH a víte, jak by to mohlo být nepříjemné, podělte se s námi o své zkušenosti. A také přidejte komentář, pokud máte cokoli přidat nebo se zeptat na cokoli související s tímto příspěvkem v sekci komentářů. Nezapomeňte tento příspěvek sdílet se svými přáteli na sociálních médiích.