A-Z-opdrachten

Hoe externe SSH-sessies actief te houden nadat de verbinding is verbroken?

Hoe externe SSH-sessies actief te houden nadat de verbinding is verbroken?

SSH (Secure Shell) is het end-to-end gecodeerde netwerksysteem waarmee gebruikers op afstand toegang kunnen krijgen van client naar server of systeem. Vanwege het asymmetrische cryptografiebeveiligingssysteem is het vrijwel veilig om toegang te krijgen tot de server, zelfs vanaf een onveilig clientnetwerk. Maar soms als gevolg van inactiviteit of een slecht netwerksignaal, kan SSH-toegang op afstand worden verbroken. Wat de reden ook is, als Linux-beheerder is het een essentiële taak om SSH-sessies en -processen draaiende te houden nadat de verbinding is verbroken.

Redenen waarom SSH-sessies worden verbroken


In een notendop, SSH-tunnelproxyfout, netwerktime-out, het gebruik van de verkeerde netwerkpoort, of zelfs niet ingelogd op uw systeem als rootgebruiker, kan er ook voor zorgen dat u de verbinding met het SSH-beheer op afstand verbreekt. In dit bericht gaan we de meest gestelde vraag over SSH bespreken; hoe SSH-sessies en -processen draaiende te houden nadat de verbinding is verbroken.

1. Blijf SSH-sessies uitvoeren met behulp van de scherm Opdracht


De scherm commando is het meest gebruikte en nuttige commando voor SSH-beheer. De scherm commando kan hostnaamproblemen oplossen voor zowel IPv4- als IPv6-adressen. Met root-functionaliteiten, de scherm commando kan uitloggen of een sessie beëindigen van het client-einde naar het server-einde. Als je een erg nieuweling bent bij Linux SSH, zijn hier enkele CLI die je kunnen helpen bij het installeren en vinden van handleidingen van de scherm opdracht.

Voor Ubuntu:

$ sudo apt installatiescherm

Voor OpenSUSE:

$ sudo zypper installatiescherm

Voor Arch Linux:

$ sudo pacman -S scherm

Voor Red Hat Enterprise Linux:

$ sudo yum installatiescherm

Nadat u klaar bent met installeren, begint u het startscherm van uw systeem te controleren.

$ scherm $ scherm --help

Zodra u toegang heeft, SSH naar de server, wilt u op afstand toegang krijgen. Als je van plan bent een lange nacht te werken vanaf je station, maar je wilt je SSH-client niet platleggen, dan kun je de scherm opdracht. Dit kan je schermsessie loskoppelen, maar geen zorgen, de taken die je hebt gestart, worden voltooid.

Om uw scherm los te koppelen, drukt u op Ctrl-A en dan Ctrl-D vanaf je toetsenbord. U kunt op elk moment inloggen om de voortgang van het werk te volgen vanaf uw terminal. Gebruik de volgende CLI . om opnieuw verbinding te maken of verbinding te maken met de bestaande met de sessie.

$ scherm -r scherm -D -r

2. Blijf SSH-sessies uitvoeren met behulp van de tmux Gereedschap


De tmux of terminal multiplexer is een zeer populair en handig hulpmiddel voor programmeurs en systeembeheerders waarmee gebruikers kunnen schakelen tussen programma's in dezelfde terminal. Om SSH-sessies op de achtergrond actief te houden, tmux kan een zeer snelle oplossing zijn. Het kan applicaties loskoppelen en opnieuw koppelen waarbij de processen op de achtergrond blijven draaien. Hier is de installatie-instructie van: tmux voor Linux-distributies.

Voor Arch Linux:

$ sudo pacman -S tmux

Voor Red Hat Enterprise Linux:

$ sudo yum install tmux

Voor Ubuntu:

$ sudo apt-get install tmux

Voor OpenSUSE:

$ sudo zypper install tmux

Na installatie tmux, start de tmux-sessie terminalopdrachten gebruiken. Het zal niet veel tijd kosten om te installeren. Als je klaar bent met installeren, kun je nu aan de slag met tmux. Beginnen tmux, typ gewoon tmux in de terminal.

$ tmux

Als u meer dan één terminal-multiplexer moet gebruiken om alle SSH-sessies op de achtergrond te laten werken, kunt u in dat geval moeilijkheden ondervinden bij het schakelen tussen tmux naar tmux. Hier zijn de opdrachtregels om van de ene van de andere te wisselen.

$ tmux detach $ tmux attach $ tmux attach -t 2

Om alle te controleren tmux scherm gebruik de tmux lijst opdracht.

$ tmux ls

3. Blijf SSH-sessies uitvoeren met behulp van de byobu Gereedschap


De byobu-tool wordt meestal gebruikt voor SSH-beheer op afstand en monitoring op het scherm op Linux. Het is een open source-software en kan worden gebruikt naast de tmux of de scherm gereedschap. U kunt de huidige status, meldingen en berichten zien met de byobu gereedschap. Hoewel de byobu wordt standaard geïnstalleerd met Ubuntu. Maar als dat niet het geval is, kun je het op je Linux-machine installeren. Om te controleren of byobu al dan niet op uw systeem is geïnstalleerd door de andere versies van byobu . te controleren.

$ byobu --versie

Schakel vervolgens byobu in, het zal helpen om uw SSH-sessies op de achtergrond te laten werken, zelfs nadat de verbinding is verbroken.

$ byobu-inschakelen

Hier worden de installatieprocessen uitgelegd met CLI.

Voor Ubuntu:

$ sudo apt install byobu

Voor OpenSUSE:

$ sudo zypper addrepo https://download.opengebruiken.org/repositories/utilities/openSUSE_Leap_42.3/nutsvoorzieningen.repo
$ sudo zypper refresh $ sudo zypper install byobu

Voor Arch Linux:

$ yaourt -S byobu $ packer -S byobu

Voor Red Hat Enterprise Linux:

$ sudo yum installeren byobu

Voor Fedora:

$ sudo dnf installeren byobu

Om te beginnen met byobu, typ gewoon byobu in de terminal en druk op Enter.

$ byobu

Als u nu de tmux of de scherm, je kunt kiezen en selecteren tussen een van hen voor backend-samenwerking.

$ byobu-select-backend

Nu kunt u uw SSH-sessies beheren en op de achtergrond laten draaien nadat de verbinding is verbroken, gebruik de functietoetsen van het systeemtoetsenbord. Om te beginnen met SSH naast byobu, druk op CTRL+SHIFT+F2 vanaf uw toetsenbord om de SSH-omgeving in te schakelen. Om uw SSH-sessies vooruit en achteruit te verplaatsen, kunt u gebruik maken van ALT+UP en ALT+OMLAAG.

Om je SSH-sessies te verbreken, druk op F6 vanaf het toetsenbord. Nu, als je op zoek bent naar het loskoppelen maar niet loskoppelen van de sessie, hier ga je. Om SSH-sessies los te koppelen en toch verbinding te maken, drukt u op SHIFT+F6. Hier is nog een extra toetsenbordopdracht voor jou. Om alleen de schermsessie actief te houden en alle andere vensters te sluiten, drukt u op ALT+F6.

4. Blijf SSH-sessies uitvoeren met behulp van de nohup Opdracht


De nohup or 'no hangup' commando is een zeer handig alternatief hulpmiddel voor het scherm of de tmux. Het stelt gebruikers ook in staat om de SSH-sessies actief te houden, zelfs nadat de verbinding is verbroken. De nohup commando vertelt het systeem om alle processen op de achtergrond uit te voeren door het signaal ophangen te vermijden (SIGHUP).

Om de te controleren nohup handleidingen en opties van uw Linux-terminal, typt u de volgende opdracht in de terminal en drukt u op Enter.

$ nohup opties

Om de momenteel actieve vacatureslijsten te controleren, gebruikt u de -ik commando vanaf je terminal.

$ banen -l

Nu, voor SSH-verbinding, om te voorkomen dat de verbinding verloren gaat en uw sessies actief te houden nadat de verbinding is verbroken, gebruikt u de nohup-opdrachtregels die volgen op uw taak. U kunt de uitvoerlijst van uw taken ook in een tekstbestand krijgen door het cat-commando naast het nohup-commando te gebruiken.

$ neehup ./Hallo.sh $ kat nohup.uit

Om een ​​proces op de achtergrond uit te voeren, kunt u de & symbool net na de nohup opdracht. Zoals, als ik ping wil testen voor wordpress-408970-1286763.cloudways-apps.com op de achtergrond, ziet de opdrachtregel er precies zo uit als de volgende regel hieronder:. En als u denkt dat uw taak erop zit, kunt u het resultaat zien met de pgrep opdracht.

$ nohup ping ubuntupit.com & $ pgrep -een ping

5. Blijf SSH-sessies uitvoeren met behulp van de verloochenen Opdracht


Als u niet over de rootrechten van het systeem beschikt, lost deze misschien uw probleem op. De verloochenen commando kan elke taak verborgen maken in uw actieve systeemlogboek. Het kan dus een lopend proces verbergen om alle automatische uitlogfouten of het ophangsignaal te voorkomen (SIGHUP). Je kunt de opdracht voor procesbeheer diswon gebruiken om je SSH-sessies draaiende te houden door je taak te verbergen.

Gebruik de opdracht diswon in de terminal om uw taak te verwijderen of te verbergen voor Taakbeheer.

$ verloochenen 

Gebruik de huidige shell-opdracht om de huidige status van de taak te controleren.

$ huidige shell

U kunt ook een lijst met taken instellen met een enkele regel terminalopdracht.

$ verwerpen banen1 $ verwerpen banen1 banen2… banenn

En om de takenlijst te controleren, gebruik de -ik opdracht.

$ banen -l

Om alle huidige taken uit het venster te verwijderen, typt u de -een syntaxis gevolgd door het disown-commando.

$ verwerpen -a

Om slechts één of de actieve taak uit het venster te verwijderen, gebruikt u de -r syntaxis gevolgd door het diswon-commando.

$ verwerpen -r

Nu voor SSH, om een ​​taak op de achtergrond uit te voeren nadat de sessie is verbonden, gebruik de -h syntaxis. Dit proces kan ervoor zorgen dat uw SSH-sessies actief blijven, zelfs nadat de verbinding is verbroken.

$ disown -h jobID $ disown -h %2

De repareren time-out Fout van SSH in RHEL


Wanneer u bent verbonden met de SSH op Red Hat Enterprise Linux (RHEL), kunt u een frequent time-outprobleem krijgen en uw verbinding verliezen. Dit probleem treedt op vanwege de ongeldige responstijd van het client-einde of het host-einde. In uw Red Hat-hoofdmap moet u de . zoeken en bewerken sshd_config.tekst bestand om dit time-outprobleem op te lossen. Als je klaar bent, kun je je SSH-verbinding terugkrijgen, zelfs nadat de verbinding is verbroken.

daar binnen de sshd_config.tekst, bestand vindt u twee opties met de naam ClientAliveInterval en ClientAliveCountMax, u moet deze logbestanden bewerken om de reactietijd van server naar client te maximaliseren. Het time-outinterval wordt berekend door de waarden van ClientAliveInterval en ClientAliveCountMax . te vermenigvuldigen.

Het enige dat u hoeft te doen, is de tijdsduur van deze twee waarden aan te passen aan de reactieduur van uw systeem en netwerk. Laat u de tijd 10 minuten maximaliseren voor het einde van het clientinterval en 5 keer voor het aantal clients, dan uw tekstregister in de sshd_config.tekst bestand zal zijn zoals hieronder:. En herstart dan de SSH.

ClientAliveInterval 10m ClientAliveCountMax 5

Laatste gedachten


Voor een systeembeheerder is het een cruciale taak om SSH-sessies en -processen draaiende te houden om de klant tevreden te stellen en de taak te vervullen. De verbinding verbroken worden en frequente sessies verloren gaan is erg vervelend en hinderlijk. Dus in dit bericht hebben we geprobeerd de redenen te bespreken en te illustreren waarom SSH-sessies worden verbroken en ook alle mogelijke methoden beschreven om SSH-sessies actief te houden nadat de verbinding is verbroken.

Als je ooit het gedoe van het verbreken van SSH-sessies hebt doorgemaakt en weet hoe vervelend het kan zijn, deel dan je ervaring met ons. En reageer ook als je iets toe te voegen hebt of iets vraagt ​​met betrekking tot dit bericht in het commentaargedeelte. Vergeet dit bericht niet te delen met je vrienden op sociale media.

Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...