Öffnen Sie ein anderes Terminalfenster mit derselben SSH-Sitzung wie das ursprüngliche Fenster

42

Gibt es eine Möglichkeit, ein Terminalfenster (oder eine Registerkarte) mit einer anderen Instanz einer geöffneten SSH-Sitzung zu öffnen?

BEARBEITEN: Ich habe ein Terminalfenster mit einer Remote-SSH-Sitzung in einem Server. Ich möchte einen neuen Tab öffnen, der mit derselben Remote-SSH-Sitzung verbunden ist.

Mit Datei-> Neuer Tab bekomme ich einen anderen Tab, aber ich muss eine andere SSH-Sitzung zum Remote-Server eröffnen.

Tulains Córdova
quelle
Wenn Sie ssh-copy-id und eine lokale SSH-Konfiguration verwenden, ist die Verbindung zu yourwebserver.company.net wie bei 'ssh web', auch wenn keine Authentifizierung erforderlich ist.
Davidbaumann
@davidbaumann Der Kommentar ist zu knapp. Könnten Sie es in eine Antwort ausarbeiten? Was ist 'ssh web'? Wie kann so ein neues Terminalfenster mit der gleichen Sitzung wie geöffnet werden?
Tulains Córdova
Es ist nicht die gleiche Sitzung, aber das Herstellen einer Verbindung über SSH wird BR so erleichtern, dass Sie keine weiteren Tricks benötigen.
Davidbaumann
@davidbaumann, gleiche Sitzung bedeutet den gleichen Benutzer (wenn Sie su - someuser haben), die gleichen Umgebungsvariablen (wenn Sie eine src-Datei bezogen haben), das gleiche Arbeitsverzeichnis, den gleichen Verlauf usw. t den ganzen Rest machen.
Tulains Córdova

Antworten:

14

Stellen Sie eine Verbindung zu Ihrem Remote-Server her mit:

ssh -X [remote-host]      

Führen Sie nun Folgendes aus:

gnome-terminal &

Auf Ihrem lokalen Computer wird ein Terminal angezeigt. Über dieses Terminal können Sie beliebig viele Registerkarten oder Terminalfenster ausführen. Sie verwenden alle dieselbe sshVerbindung und werden mit dem Remote-Computer verbunden.

LD James
quelle
Der entfernte Host ist Debian und hat kein Gnome-Terminal. Wie heißt die Terminal-App in Debian?
Tulains Córdova
1
@ user1598390 Bei meiner Installation ist (Version 7 - wheezy)die Standard-Terminal-App gnome-terminal. Es sind noch andere Terminalanwendungen installiert. Sie sind xterm, lxtermund uxterm. Ich glaube, dass die meisten Distributionen am häufigsten sind xterm. Über die Kommandozeile erhalten Sie eine Liste der Terminalanwendungen cd /usr/bin;ls *term*.
LD James
1
Ich habe es versucht und es funktioniert bei mir nicht.
Tulains Córdova
Was ist die Fehlermeldung, die Sie erhalten, wenn Sie ausführen cd /usr/bin;ls *term*? Mit anderen Worten, was ist der von Ihnen ausgeführte CLI und wie lautete die Fehlermeldung?
LD James
Der Fehler ist beim Ausführen xterm&-> [1] 26953 postgres@serverxxx:/usr/bin$ X11 connection rejected because of wrong authentication. xterm: Xt error: Can't open display: localhost:10.0obwohl ich auf xhost +dem lokalen Rechner lief. Und selbst als ich es tatssh -X
Tulains Córdova
36

Vielleicht könnte dies helfen: screen

Es ist nicht standardmäßig auf Ubuntu installiert, sondern wird in den Repositorys bereitgestellt.

Es ist sehr nützlich: sshzu einem entfernten Host und screengeben Sie ein, um eine screenSitzung zu betreten .

Starten Sie die zeitaufwändige Aufgabe, die Sie möchten, und drücken Sie dann Ctrl+ Agefolgt von Ctrl+ C, um ein neues Fenster in der Bildschirmsitzung zu erstellen.

Dadurch wird eine neue Shell erstellt, in der Sie tun können, was Sie wollen. Erstellen Sie mit demselben Befehl noch mehr Fenster.

Um schnell zwischen zwei Fenstern zu wechseln, verwenden Sie Ctrl+ Agefolgt von Ctrl+ Aerneut. Wie Sie sehen, versetzt Ctrl+ den ABildschirm in den Befehlsmodus.

Ctrl+ A Ctrl+ Dtrennt sich von der Bildschirmsitzung. Sie können dann die Verbindung zum Host trennen und sich später erneut anmelden und screen -drIhre Sitzung mit fortsetzen.

Um zu einem bestimmten screenFenster zu gelangen, geben Sie Ctrl+ Agefolgt von einer Zahl ein.

Der Bildschirm wird beendet, wenn alle aktiven Fenster geschlossen sind (oder die darin enthaltenen Shells beendet wurden).

Ich habe dies von SSH- und SFTP-Sitzungen erhalten .

Bearbeiten-

tmux ist eine Alternative zu screen. http://www.sitepoint.com/tmux-a-simple-start/

aaditya1234
quelle
Muss "screen" nicht auf dem Remote-Host installiert sein?
Tulains Córdova
Ich denke schon.
aaditya1234
Ich muss eine Verbindung zu vielen Produktionsservern herstellen : Solaris-Server (neue Versionen sowie ältere Versionen), Debian-Server (mehrere Versionen) und RedHat-Server (mehrere Versionen). Es kommt nicht in Frage, dass in allen neue Software installiert werden muss.
Tulains Córdova
Ah, hier ist etwas, was mir ein Freund über die Verwaltung mehrerer Maschineninstallationen erzählt hat: bjoernvold.com/forum/viewtopic.php?f=11&t=3228
aaditya1234
1
Wenn ich den Bildschirm benutze, kann ich nicht nach oben und unten scrollen, wohingegen ich in der normalen Befehlszeile nach oben und unten scrollen kann (die, die ich direkt danach bekomme ssh user@machine).
ComputerScientist
0

Das habe ich schon mal gemacht: Starte gnome-terminal auf dem Server. Strg + Z dann bg von Ihrem ursprünglichen Terminalfenster.

Normalerweise benutze ich ssh -X -C, also musst du das vielleicht tun, aber ich bin mir nicht sicher. Außerdem werden die Einstellungen Ihres Servers anstelle der Einstellungen auf Ihrem Computer verwendet, was manchmal unpraktisch ist.

Es ist nicht meine Schuld
quelle
-2

Ja, klicken Sie im Terminal (Menü) auf Datei -> Neuer Tab

um einen neuen Tab im Terminal zu öffnen

oder fragst du etwas anderes

aaditya1234
quelle
Vielleicht war ich nicht klar genug. Ich habe ein Terminalfenster mit einer Remote-SSH-Sitzung auf einem anderen Server. Ich möchte einen neuen Tab öffnen, der mit derselben Remote-SSH-Sitzung verbunden ist. Schau dir die Bearbeitung in der Frage an.
Tulains Córdova
Ok ... hab deine Frage. Ich werde nach der Antwort suchen, da ich sie noch nicht kenne.
aaditya1234
Einige proprietäre Terminals für Windows machen es. Aber ich würde lieber Ubuntus Terminal verwenden.
Tulains Córdova