Aprire un'altra finestra del terminale con la stessa sessione SSH della finestra originale


42

C'è un modo per aprire una finestra (o una scheda) del terminale con un'altra istanza di una sessione SSH aperta?

EDIT: ho una finestra terminale con una sessione ssh remota in un server. Voglio aprire una nuova scheda connessa alla stessa sessione ssh remota.

Con File-> Nuova scheda ottengo un'altra scheda ma devo aprire un'altra sessione ssh sul server remoto.


Se usi ssh-copy-id e una configurazione SSH locale, la connessione a yourwebserver.company.net è proprio come 'ssh web', anche se non è necessario eseguire l'autenticazione.
davidbaumann,

@davidbaumann Il commento è troppo conciso. Potresti elaborarlo in una risposta? Che cos'è 'ssh web'? In che modo è possibile aprire una nuova finestra del terminale con la stessa sessione di?
Tulains Córdova,

Non è la stessa sessione, ma la connessione tramite SSH farà sì che BR sia molto più semplice e non avrai bisogno di altri trucchi.
davidbaumann,

@davidbaumann, la stessa sessione significa lo stesso utente (se hai eseguito su - someuser), stesse variabili di ambiente (se hai acquistato un file src), stessa directory di lavoro, stessa cronologia, ecc. Connettersi senza che ti venga chiesta una password è carino ma non lo fa ' fare tutto il resto.
Tulains Córdova,

Risposte:


14

Collegati al tuo server remoto con:

ssh -X [remote-host]      

Ora esegui:

gnome-terminal &

Un terminale apparirà sul tuo computer locale. Da questo terminale, è possibile eseguire tutte le schede o le finestre del terminale desiderate. Useranno tutti la stessa sshconnessione e saranno collegati alla macchina remota.


L'host remoto è Debian e non ha gnome-terminal. Qual è il nome dell'app terminale in Debian?
Tulains Córdova,

1
@ user1598390 Sulla mia installazione (Version 7 - wheezy)l'app terminale predefinita è gnome-terminal. Esistono altre applicazioni per l'installazione di terminali. Sono xterm, lxterme uxterm. Credo che lo sarà il più comune sulla maggior parte delle distro xterm. È possibile ottenere un elenco delle applicazioni del terminale con la riga di comando cd /usr/bin;ls *term*.
LD James,

1
L'ho provato e non funziona per me.
Tulains Córdova,

Qual è il messaggio di errore che ricevi quando esegui cd /usr/bin;ls *term*? In altre parole, qual è il cli che hai eseguito e qual è stato il messaggio di errore?
LD James,

L'errore è durante l'esecuzione xterm&-> [1] 26953 postgres@serverxxx:/usr/bin$ X11 connection rejected because of wrong authentication. xterm: Xt error: Can't open display: localhost:10.0Anche se ho eseguito xhost +nella macchina locale. E anche quando l'ho fattossh -X
Tulains Córdova,

36

Forse questo potrebbe aiutare: screen

Non è installato di default su Ubuntu, ma è fornito nei repository.

È molto utile: ssha un host remoto e digita screenper accedere a una screensessione.

Inizia qualsiasi attività che richiedi tempo e poi premi Ctrl+ Aseguito da Ctrl+ Cper creare una nuova finestra nella sessione dello schermo.

Questo genererà una nuova shell in cui puoi fare quello che vuoi. Crea ancora più finestre usando lo stesso comando.

Per passare rapidamente da una finestra all'altra, utilizzare Ctrl+ Aseguito da Ctrl+ di Anuovo. Come puoi vedere, Ctrl+ Amette lo schermo in modalità comando.

Ctrl+ A Ctrl+ Dsi staccherà dalla sessione dello schermo. È quindi possibile disconnettersi dall'host e accedere nuovamente in un secondo momento e utilizzare screen -drper riprendere la sessione.

Per andare a una screenfinestra specifica , digitare Ctrl+ Aseguito da un numero.

Lo schermo si chiuderà quando tutte le finestre attive saranno chiuse (o le shell all'interno saranno uscite).

L'ho preso dalle sessioni SSH e SFTP .

Modificare-

tmux è un'alternativa allo schermo. http://www.sitepoint.com/tmux-a-simple-start/


Non è necessario installare "schermo" nell'host remoto?
Tulains Córdova,

Suppongo che lo faccia.
aaditya1234,

Devo connettermi a molti server di produzione : server Solaris (nuove versioni e versioni precedenti), server Debian (diverse versioni) e server RedHat (diverse versioni). Dover installare un nuovo software in ognuno di essi è fuori discussione.
Tulains Córdova,

Ah, ecco qualcosa che un amico mi ha detto su come gestisce le installazioni di più macchine: bjoernvold.com/forum/viewtopic.php?f=11&t=3228
aaditya1234

1
Quando uso lo schermo, non riesco a scorrere su e giù, mentre posso scorrere su e giù nella normale riga di comando (quella che ottengo subito dopo aver fatto ssh user@machine).
ComputerScientist,

0

L'ho già fatto prima: avvia gnome-terminal sul server. ctrl + Z quindi bg dalla finestra del terminale originale.

Normalmente uso ssh -X -C, quindi potresti doverlo fare, ma non ne sono sicuro. Inoltre, utilizzerà le impostazioni del tuo server anziché quelle sul tuo computer, il che a volte è scomodo.


-2

Sì, nel terminale (menu) fai clic su File -> Nuova scheda

per aprire una nuova scheda nel terminale

o stai chiedendo qualcos'altro?


Forse non ero abbastanza chiaro. Ho una finestra terminale con una sessione ssh remota in un altro server. Voglio aprire una nuova scheda connessa alla stessa sessione ssh remota. Guarda la modifica nella domanda.
Tulains Córdova,

ok..vai la tua domanda. cercherò la risposta come non lo so ancora.
aaditya1234,

Alcuni terminali proprietari per Windows lo fanno. Ma preferirei usare il terminale di Ubuntu.
Tulains Córdova,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.