Stellen Sie sich ein Szenario vor, in dem ich von meinem lokalen Computer aus auf einem Server (den wir "Wallace" nennen) und von dort ssh
auf einem anderen Server (den wir "Gromit" nennen) angemeldet bin :
laptop ---ssh---> Wallace ---ssh---> Gromit
Dann hängt die SSH-Sitzung von Wallace bis Gromit, und ich möchte sie töten. Wenn ich ~.
zum Beenden von ssh eintrete , wird die ssh-Sitzung von meinem Laptop an Wallace beendet, da das ~
von dieser ssh-Sitzung abgefangen wird und das .
als Befehl zum Beenden der Sitzung interpretiert wird. Wie sende ich einen Befehl an die SSH-Sitzung zwischen Wallace und Gromit? Wie töte ich mein "inneres" ssh?
Antworten:
Fügen Sie eine weitere Tilde hinzu (z. B. Typ
~~.
). Jede nachfolgende Tilde wird von der äußersten SSH-Sitzung gegessen, die noch keine gegessen hat. Handelt es sich bei dem nächsten Zeichen jedoch um eine andere Tilde, wird sie an die nächste Sitzung in weitergeleitet.Wenn Sie von gromit 1 zu einem dritten Host wechseln (nennen wir es wensleydale), wird
~~~.
die Sitzung zu wensleydale abgebrochen und Sie kehren zu einer Eingabeaufforderung für gromit zurück.1 Und was ist das für ein großartiger Server? Wie oft habe ich eine Entwickler-Bemerkung "Cracking Host, Gromit" gehört?
quelle
laptop --> Wallace --> Gromit --> Shaun --> Timmy
etwas Verrücktes haben oder so ...Sie können beliebige Befehle eingeben und die Ausgabe der innersten Shell in einer Variablen abfangen
quelle