.titleBar { margin-bottom: 5px!important; }

Telnet starten - klar. Aber wie beenden? (Gelöst!)

Dieses Thema im Forum "FRITZ!Box Fon: DSL, Internet und Netzwerk" wurde erstellt von meyergru, 18 Apr. 2009.

  1. meyergru

    meyergru Neuer User

    Registriert seit:
    11 Sep. 2005
    Beiträge:
    148
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    #1 meyergru, 18 Apr. 2009
    Zuletzt bearbeitet: 20 Apr. 2009
    Ich weiß nicht, ob dies das richtige Unterforum für die Frage ist, aber:

    Wenn man sich per Telnet auf einer Fritzbox einloggt und die Sitzung beenden will, kann man das mit "exit" tun. Die TCP-Verbindung wird dadurch aber nicht beendet, d.h. danach ist keine Eingabe mehr möglich. Ich meine mich zu erinnern, dass bei älteren Firmware-Versionen die Verbindung beendet wurde, so dass der Telnet-Client damit geschlossen wurde.

    Mit meinem normalen Telnet-Client unter Linux ist standardmässig kein Escape-Char gesetzt, so dass man auch nicht mittels Telnet-Client-Kommandos die Sitzung beenden kann.

    Unter Windows kann man natürlich einfach das Fenster schliessen.

    Wieso geht das nicht mehr, bzw. gibt es dafür eine elegante Lösung?
     
  2. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,710
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Code:
    killall telnetd
    Telnet wird beendet und die TCP-Verbindung wird beendet.
     
  3. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das ist aber nicht die genaue Antwort auf die Frage. Er wollte nur die aktuelle Session beenden und nicht den Telnet-Server komplett killen.

    In verschiedenen Versionen der Busybox wird das Ende einer Verbindung verschieden gehandhabt. Wenn ich es richtig in Erinnerung habe, schließen die älteren Versionen die Verbindung, wenn der File-Deskriptor von allen Prozessen geschlossen wurde, während die neueren die Verbindung schließen, sobald die Shell beendet wird.

    Wird bei Dir die Verbindung geschlossen, wenn Du Dich nur mit telnet anmeldest und sofort exit eingibst, also ohne vorher andere Programme zu starten? Wenn ja, hast DU vermutlich das Problem, daß gestartete Programme die Verbindung zum Terminal offen halten.

    Ansonsten, gibt es einen besonderen Grund, warum Du bei Deinem telnet-Client den Escape-Char ausgeschaltet hast?
     
  4. doc456

    doc456 IPPF-Urgestein

    Registriert seit:
    27 Apr. 2006
    Beiträge:
    15,682
    Zustimmungen:
    3
    Punkte für Erfolge:
    38
    @RalfFriedl, mit der originalen busybox geht weder exit noch close, es hilft nur telenet mit dem x zu Schließen.
    Bei den geänderten busyboxen geht exit sofort, ob das am esc-char von telnet liegt, hatte ich aber nicht probiert...
     
  5. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das liegt nicht am esc-char, das ist eine Möglichkeit, von Seiten des Clients sofort die Verbindung zu schließen, unabhängig vom Server.

    Bei den neueren Busyboxen ist einiges am telnet-Server geändert in der Handhabung, wie das Ende einer Verbindung erkannt wird. Ich wußte aber nicht, daß es auch welche gab, wo es gar nicht funktioniert hat.
     
  6. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,710
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Wenn der Server weiter lauschen soll, dann kann man auch nur den client killen.

    Code:
    killall telnet

    Vor dem killen des client:
    Nach dem killen des client, Server ist noch da und lauscht weiter. Wenn erforderlich könnte die Verbindung erneut aufgebaut werden:
    TCP-Verbindung ist nicht ESTABLISHED:
     
  7. meyergru

    meyergru Neuer User

    Registriert seit:
    11 Sep. 2005
    Beiträge:
    148
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Also "killall telnet" geht ja nur auf dem Client, das setzt aber erstmal ein offenes Fenster voraus. Es wäre schon gut, wenn ich die Verbindung im bestehenden Fenster beenden könnte.

    Der ESC-Character des Clients ist per default unter Linux nicht gesetzt, sonst müsste man schon beim Telnet-Aufruf einen mitgeben:

    "killall telnetd" würde tatsächlich den nächsten Login unmöglich machen.

    Es ist unabhängig davon, was ich vorher gemacht habe, auch ein sofortiges "exit" beendet die Vebindung nicht.

    Ich glaube nicht, dass der Shell-Teil der Busybox das Problem verursacht, denn wenn ich mit "kill -9" die betreffende Shell stoppe, geht es genauso wenig. Die Busybox wird schon beendet, aber danach müsste die TCP-Sitzung eben auch beendet werden. Eventuell ist das ein Problem im (Busybox-)telnetd oder dem vorgeschalteten /sbin/ar7login:

    # ps w | fgrep telnet
    854 root 1428 S telnetd -l /sbin/ar7login
     
  8. sf3978

    sf3978 IPPF-Promi

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    7,710
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Wir reden doch von Linux. Da sollte ein Befehlsfenster der Konsole, doch kein Problem sein.;)
     
  9. meyergru

    meyergru Neuer User

    Registriert seit:
    11 Sep. 2005
    Beiträge:
    148
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Einen Shell-Prozess "von aussen" stoppen zu müssen ist m.E. nach per se ein Problem...

    Ich habe ja auch nicht gesagt, dass ich das nicht hinbekomme, zur Not kann ich ja auch das "umgebende" Fenster mit der SSH auf mein Linux-System schliessen und neu öffnen.

    Trotzdem ist das lästig und unnötig. AVM wird aber mutmaßlich nichts ändern, da Telnet sowieso nicht supported wird.
     
  10. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das wäre ungewöhnlich. Der ESC-Character ist normalerweise "^]". In Putty mit einer deutschen Tastatur kann dieses mit der Tastenkombination Strg+"+*~" erzeugt werden. Mit "+*~" meine ich die Taste, auf der Plus, Stern und Tilde drauf sind.

    Der Ausschnitt aus dem Manual, den Du zitierst, soll wohl heißen, daß die Option -e ohne Angabe von escapechar den escapechar deaktiviert, aber nicht, daß das schon von Anfang an so ist. Vielmehr gäbe es dann keinen Grund, diese Möglichkeit zum Abschalten anzubieten, wenn escapechar sowieso nicht gesetzt wäre.
     
  11. meyergru

    meyergru Neuer User

    Registriert seit:
    11 Sep. 2005
    Beiträge:
    148
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Es lohnt sich doch immer wieder, dieses Forum zu befragen...

    Danke, so geht es. Strg+"*+~", q und alles ist gut!
     
  12. Freenetler

    Freenetler Mitglied

    Registriert seit:
    31 März 2008
    Beiträge:
    309
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    danke, das steuerung und plustaste hat mir auch den tag gerettet. lt. netlimiter schliesst sich die verbindung nach circa 30 sekunden und alles ist gut....
     
  13. Deathwing23

    Deathwing23 Neuer User

    Registriert seit:
    6 Okt. 2009
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Den Konsolen-Output vorher von der Session zu nehmen scheint zu helfen.
    Also: setconsole -r
    und dann: exit
    Dann schließt das Fenster bei mir sofort.

    Kann jemand erklären warum das nicht automatisch passiert?
    Bzw. warum der Konsolen-Output die Verbindung offen hält?
    Ich peil es nicht ;)
     
  14. uhingst

    uhingst Neuer User

    Registriert seit:
    20 Juli 2005
    Beiträge:
    17
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hamburg
    Kann ich bestätigen. Ohne vorheriges setconsole -r wird die Verbindung nicht beendet!

    Den Grund dafür würd ich aber auch gern erfahren. Bei mir könnte es eventuell auch daran liegen das ich eine Zeitlang FritzLoad auf meiner 7240 hatte. Vor der Installation von FritzLoad schloss die Verbindung automatisch.
     
  15. Deathwing23

    Deathwing23 Neuer User

    Registriert seit:
    6 Okt. 2009
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich habe das Problem obwohl die Box (7330) nagelneu ist ;)
     
  16. uhingst

    uhingst Neuer User

    Registriert seit:
    20 Juli 2005
    Beiträge:
    17
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hamburg
    dann muss es wohl ein Problem von FRITZ!OS 05.21 sein....?! Den warten wir mal auf eine neue Firmware und hoffen auf Besserung!
     
  17. phonner

    phonner Neuer User

    Registriert seit:
    4 Sep. 2007
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Strg Alt 5
    und dann
    quit
     
  18. KunterBunter

    KunterBunter IPPF-Urgestein

    Registriert seit:
    12 Okt. 2005
    Beiträge:
    22,000
    Zustimmungen:
    32
    Punkte für Erfolge:
    48
    Was für ein knackiger erster Beitrag nach sieben Jahren. :) Nur leider passt er nicht. :(
     
  19. phonner

    phonner Neuer User

    Registriert seit:
    4 Sep. 2007
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Was genau passt nicht?
     
  20. koyaanisqatsi

    koyaanisqatsi IPPF-Urgestein

    Registriert seit:
    24 Jan. 2013
    Beiträge:
    10,733
    Zustimmungen:
    131
    Punkte für Erfolge:
    63
    #20 koyaanisqatsi, 17 Nov. 2014
    Zuletzt bearbeitet: 17 Nov. 2014
    Abend

    Naja.
    Ich machs so: Strg^b c dann telnet irgendwohin und am End Strg^b x zur Bestätigung y




    tmux

    Aber meistens vergesse ich das, weil mit Srg^b p wieder auf vorherige Konsole.
    Und dann kann es schoneinmal passieren, dass die Sitzung wochenlang läuft. :D