[gelöst] Trotz KeepAlive yes SSH-Verbindungsabbrüche

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
floogy
Beiträge: 125
Registriert: 19.04.2006 22:43:15

[gelöst] Trotz KeepAlive yes SSH-Verbindungsabbrüche

Beitrag von floogy » 13.04.2007 12:41:56

Ich möchte von saarge nach etch upgraden (vserver, virtuozzo, ssh). Ich habe bedenken, da sowohl mit putty, als auch mit ssh auf der Linuxconsole die Verbindung des öfteren abgebrochen wird, und das trotz KeepAlive yes .

Code: Alles auswählen

~$ egrep KeepAlive /etc/ssh/sshd_config
KeepAlive yes

Code: Alles auswählen

:~$ ssh -V
OpenSSH_4.2p1 Debian-5, OpenSSL 0.9.8a 11 Oct 2005
~$ apt-cache policy ssh
ssh:
  Installiert:1:4.2p1-5
  Mögliche Pakete:1:4.2p1-5
  Versions-Tabelle:
 *** 1:4.2p1-5 0
        100 /var/lib/dpkg/status
     1:3.8.1p1-8.sarge.6 0
        500 ftp://ftp.freenet.de sarge/main Packages
        500 http://security.debian.org sarge/updates/main Packages
Das Dilemma resultiert aus der Konfiguration des Providers :-(
Wie würde es um ein Downgrade stehen, oder ist in etch die Version höher?
Ich mache mir Sorgen wegen fehlender Sicherheitsupdates.
Allerdings findet rkhunter ssh ok:

Code: Alles auswählen

* Application version scan
   - GnuPG 1.4.1                                              [ Old or patched version ]
   - Bind DNS 9.2.4                                           [ OK ]
   - OpenSSL 0.9.7e                                           [ Old or patched version ]
   - PHP 4.3.10                                               [ Old or patched version ]
   - Procmail MTA 3.22                                        [ OK ]
   - ProFTPd 1.2.10                                           [ OK ]
   - OpenSSH 4.2p1                                            [ OK ]
Wie kann ich die Timeouts und Verbindungsabbrüche während des upgrades verhindern?
Zuletzt geändert von floogy am 13.04.2007 17:28:12, insgesamt 1-mal geändert.

Benutzeravatar
Eliteforce
Beiträge: 13
Registriert: 16.06.2006 13:06:03

Beitrag von Eliteforce » 13.04.2007 14:56:15

gibts die Option KeepAlive überhaupt?
ich sehe nur TCPKeepAlive in der sshd_config man page

wenn du hinter einem router bist, kann es auch sein dass die verbindung nach einer bestimmten zeit ohne aktivitäten abbricht -> ClientAliveInterval / ClientAliveCountMax setzen
Zuletzt geändert von Eliteforce am 13.04.2007 15:01:15, insgesamt 1-mal geändert.
- zu faul zum shift-taste benützen -
mfg Eliteforce

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: sarge2etch: Trotz KeepAlive yes SSH-Verbindungsabbrüche

Beitrag von mistersixt » 13.04.2007 14:59:47

floogy hat geschrieben:
Wie kann ich die Timeouts und Verbindungsabbrüche während des upgrades verhindern?
Arbeite mit "screen": damit kannst Du eine Console-Session starten und bei einem Verbindungsabbruch wieder "resumen". Also "apt-get install screen", dann einfach "screen" ausführen, einen Befehl ausführen (beispielsweise "apt-get dist-upgrade"), dann mit STRG-A-D die Session "detachen" und mit "screen -r" wieder resumen. Bzw. wenn die SSH-Verbindung wegfliegt, mit "screen -r" die alte Session wieder resumen (ein STRG-A-D ist quasi wie ein "Verbindungsabbruch ;) )...


Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

floogy
Beiträge: 125
Registriert: 19.04.2006 22:43:15

Beitrag von floogy » 13.04.2007 15:13:51

Hallo MisterSixt. Das hört sich interessant an, aber ich kann es mir nicht vorstellen.

Ich rufe also ssh$USER@vserver-im-netz.de auf, dort rufe ich su auf, und als root screen. screen läuft also im ssh-terminal in einer shell auf dem vserver, während ich vor der Kiste sitze von der aus ich ssh aufrief.

Nun fliegt mir die Verbindung weg. Wie bitte kann ich dann screen auf dem vserver dazu bringen, mit STRG-A-D die Session zu "detachen" und mit "screen -r" wieder zu resumen?

Ich denke, Ich habe Dich nicht ganz verstanden.

@Eliteforce
ich sehe nur TCPKeepAlive in der sshd_config man page
Hmm... sollte das noch von woody kommen, und daher nicht funktionieren?
Wie gehe ich das an?
Ich ändere das in der config, und gebe /etc/init.d/ssh reload an?

Benutzeravatar
Eliteforce
Beiträge: 13
Registriert: 16.06.2006 13:06:03

Beitrag von Eliteforce » 13.04.2007 15:39:04

restart, nicht reload :)
oder seperat stop und dann wieder start :twisted:

zu der screen frage: wenn die verbindung getrennt wird bist du ja schon "detached", dann brauchst du dich nur mehr neu zu verbinden die session wieder aufnehmen (ich verwende dazu screen -D -R)

edit: du kannst das kommando auch bei putty unter connection - ssh - remote command eintragen, dann wird es immer nach dem verbinden ausgeführt
- zu faul zum shift-taste benützen -
mfg Eliteforce

floogy
Beiträge: 125
Registriert: 19.04.2006 22:43:15

Beitrag von floogy » 13.04.2007 15:42:09

Aber mit restart verliere ich ja die Verbindung. Ist es sicher, dass das script dann noch weiter abgearbeitet wird, und ssh wieder gestartet wird?

Benutzeravatar
Eliteforce
Beiträge: 13
Registriert: 16.06.2006 13:06:03

Beitrag von Eliteforce » 13.04.2007 15:52:04

deine verbindung wird nicht getrennt, es wird nur der haupt-sshd prozess neu gestartet soweit ich weiß
- zu faul zum shift-taste benützen -
mfg Eliteforce

floogy
Beiträge: 125
Registriert: 19.04.2006 22:43:15

Beitrag von floogy » 13.04.2007 16:03:11

Aber sshd ist doch der Prozess, der die Bindung hält?

Also ich kapier da gar nichts:

Code: Alles auswählen

root@ubuntu:~# ssh user@server-im-netz.de
Password: 
Last login: Fri Apr 13 14:50:29 2007 from pd9e146846.dip0.t-ipconnect.de on pts/0
Linux p0.server-im-netz.de 2.6.9-023stab043.1-smp #1 SMP Mon Mar 5 16:35:19 MSK 2007 i686 GNU/Linux
You have new mail.
Last login: Fri Apr 13 16:04:37 2007 from pd9e146846.dip0.t-ipconnect.de
user@p0:~$ who
user  pts/0        Apr 13 14:50 (pd9e146846.dip0.t-ipconnect.de)
user  pts/1        Apr 13 16:04 (pd9e146846.dip0.t-ipconnect.de)
user@p0:~$ su
p0:/home/user# screen
[detached]
p0:/home/user#
p0:/home/user# ps axu|grep screen
p0:/home/user#
Es gibt ja nicht mal einen Prozess screen, der nun läuft, wie soll denn dann darin das upgrade ungestört weiterlaufen. Außerdem bin ich noch immer per ssh verbunden. Wenn nun die Verbindung abbricht, kann ich wie resumen?

EDIT: Ich habe es jetzt mal mit top probiert, und hier@home mal den ssh-clienten mit killall ssh abgeschossen.
Danach konnte ich mit ssh wieder die Verbindung zu dem server herstellen, und tatsächlich rief screen -D -A wieder die session mit laufendem top auf. Das heißt aber nicht, dass ich das verstehe... ;-)

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 13.04.2007 16:23:12

man screen oder http://www.google.de/search?q=screen+howto
Kennt die beiden Freunde niemand mehr?
Screen läuft auf dem entferntenRechner, ist also komplett unabhängig, von deiner abgebrochenen SSH-Session.
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

floogy
Beiträge: 125
Registriert: 19.04.2006 22:43:15

Beitrag von floogy » 13.04.2007 16:35:22

Code: Alles auswählen

p0:/home/user# ps axu|grep screen
p0:/home/user#
Dann war das wohl ein anderer Fehler. Da hätte dann doch wohl screen weiterlaufen müssen, oder?
Hmmm... Obwohl screen offensichtlich funktioniert läuft der Prozess nicht, wenn ich mich nach der abgebrochenen Session wieder am vserver anmelde. Ich nehme mal an, dass screen nur die Verbindung zum alten Terminal wiederaufnimmt, d.h., dass die Prozesse nicht innerhalb screens laufen, sondern auf der detatchten pts/0 oder so ähnlich, die wird ja auch weiterhin angezeigt, daher ja auch zwei sessions, die who anzeigt.

Werde mir mal die manpage oder das howto durchlesen, danke.

Bleibt die Frage, weshalb reload nicht reicht, zum einlesen der veränderten sshd Konfiguration.

floogy
Beiträge: 125
Registriert: 19.04.2006 22:43:15

Beitrag von floogy » 13.04.2007 17:27:27

@Eliteforce, mistersixt + Trigger

Es muss TCPKeepAlive heißen.
Ein restart läuft problemlos ohne Unterbrechung der Verbindung durch.
Screen funktioniert auch so, wie ihr es mir erklärt habt.

Ob ich das nun verstehe sei mal dahingestellt. Ich setze den thread mal auf gelöst.

tapferesschneiderlein
Beiträge: 189
Registriert: 11.08.2005 09:27:01

Beitrag von tapferesschneiderlein » 15.04.2007 14:12:56

floogy hat geschrieben:

Code: Alles auswählen

p0:/home/user# ps axu|grep screen
p0:/home/user#
Dann war das wohl ein anderer Fehler. Da hätte dann doch wohl screen weiterlaufen müssen, oder?.
Der "Master"-Prozeß heißt SCREEN, was beispielsweise ein `grep -i screen` zeigt.

Du kannst Dir nach einem Reconnect laufende Screen-Sessions mit `screen -ls` anzueigen lassen.

Antworten