Abra otra ventana de terminal con la misma sesión SSH que la ventana original

42

¿Hay alguna manera de abrir una ventana de terminal (o pestaña) con otra instancia de una sesión SSH abierta?

EDITAR: Tengo una ventana de terminal con una sesión ssh remota en un servidor. Quiero abrir una nueva pestaña conectada a la misma sesión ssh remota.

Con Archivo-> Nueva pestaña obtengo otra pestaña pero tengo que abrir otra sesión ssh en el servidor remoto.

Tulains Córdova
fuente
Si usa ssh-copy-id y una configuración SSH local, conectarse a yourwebserver.company.net es como 'ssh web', incluso sin necesidad de autenticarse.
davidbaumann
@davidbaumann El comentario es demasiado breve. ¿Podría elaborarlo en una respuesta? ¿Qué es 'ssh web'? ¿Cómo hace eso posible abrir una nueva ventana de terminal con la misma sesión que?
Tulains Córdova
No es la misma sesión, pero conectarse por SSH hará que BR sea mucho más fácil, no necesitará ningún otro truco.
davidbaumann
@davidbaumann, la misma sesión significa el mismo usuario (si lo hizo), las mismas variables de entorno (si obtuvo un archivo src), el mismo directorio de trabajo, el mismo historial, etc. Conectarse sin que se le solicite una contraseña es bueno, pero no Haz todo el resto.
Tulains Córdova

Respuestas:

14

Conéctese a su servidor remoto con:

ssh -X [remote-host]      

Ahora ejecuta:

gnome-terminal &

Aparecerá un terminal en su computadora local. Desde esta terminal, puede ejecutar tantas pestañas o ventanas de terminal como desee. Todos usarán la misma sshconexión y se conectarán a la máquina remota.

LD James
fuente
El host remoto es Debian y no tiene gnome-terminal. ¿Cuál es el nombre de la aplicación de terminal en Debian?
Tulains Córdova
1
@ user1598390 En mi instalación, (Version 7 - wheezy)la aplicación de terminal predeterminada es gnome-terminal. Hay otras aplicaciones de terminal instaladas. Ellos son xterm, lxtermy uxterm. Creo que lo más común en la mayoría de las distribuciones será xterm. Puede obtener una lista de las aplicaciones de terminal con la línea de comandos cd /usr/bin;ls *term*.
LD James
1
Lo probé y no me funciona.
Tulains Córdova
¿Cuál es el mensaje de error que recibe cuando ejecuta cd /usr/bin;ls *term*? En otras palabras, ¿cuál es el cli que ejecutó y cuál fue el mensaje de error?
LD James
El error es al ejecutar xterm&-> [1] 26953 postgres@serverxxx:/usr/bin$ X11 connection rejected because of wrong authentication. xterm: Xt error: Can't open display: localhost:10.0Aunque ejecuté xhost +en la máquina local. E incluso cuando lo hicessh -X
Tulains Córdova
36

Quizás esto podría ayudar: screen

No está instalado por defecto en Ubuntu, pero se proporciona en los repositorios.

Es muy útil: sshpara un host remoto y escriba screenpara ingresar a una screensesión.

Inicie cualquier tarea que le lleve mucho tiempo y luego presione Ctrl+ Aseguido de Ctrl+ Cpara crear una nueva ventana en la sesión de pantalla.

Esto generará un nuevo caparazón donde puedes hacer lo que quieras. Cree aún más ventanas con el mismo comando.

Para cambiar rápidamente entre dos ventanas, use Ctrl+ Aseguido de Ctrl+ Anuevamente. Como puede ver, Ctrl+ Apone la pantalla en modo comando.

Ctrl+ A Ctrl+ Dse separará de la sesión de pantalla. Luego puede desconectarse del host e iniciar sesión nuevamente más tarde y usar screen -drpara reanudar su sesión.

Para ir a una screenventana específica , escriba Ctrl+ Aseguido de un número.

La pantalla se cerrará cuando todas las ventanas activas estén cerradas (o se hayan salido los depósitos).

Obtuve esto de las sesiones SSH y SFTP .

Editar-

tmux es una alternativa a la pantalla. http://www.sitepoint.com/tmux-a-simple-start/

aaditya1234
fuente
¿"Screen" no necesita estar instalado en el host remoto?
Tulains Córdova
Supongo que sí.
aaditya1234
Tengo que conectarme a muchos servidores de producción : servidores Solaris (versiones nuevas y versiones heredadas), servidores Debian (varias versiones) y servidores RedHat (varias versiones). Tener que instalar un nuevo software en todos ellos está fuera de discusión.
Tulains Córdova
Ah, aquí hay algo que un amigo me contó sobre cómo maneja las instalaciones de varias máquinas: bjoernvold.com/forum/viewtopic.php?f=11&t=3228
aaditya1234
1
Cuando uso la pantalla, no puedo desplazarme hacia arriba y hacia abajo, mientras que puedo desplazarme hacia arriba y hacia abajo en la línea de comando normal (la que obtengo justo después de hacerlo ssh user@machine).
ComputerScientist
0

Ya hice esto antes: inicie gnome-terminal en el servidor. ctrl + Z luego bg desde la ventana de terminal original.

Normalmente uso ssh -X -C, por lo que es posible que tenga que hacer eso, pero no estoy seguro. Además, usará la configuración de su servidor en lugar de las de su máquina, lo que a veces es inconveniente.

no es mi culpa
fuente
-2

Sí, en el terminal (menú), haga clic en Archivo -> Nueva pestaña

abrir una nueva pestaña en la terminal

o estás pidiendo algo más?

aaditya1234
fuente
Quizás no fui lo suficientemente claro. Tengo una ventana de terminal con una sesión ssh remota en otro servidor. Quiero abrir una nueva pestaña conectada a la misma sesión ssh remota. Mira la edición en la pregunta.
Tulains Córdova
ok..tu pregunta buscará la respuesta como todavía no la sé.
aaditya1234
Algunos terminales patentados para Windows lo hacen. Pero prefiero usar el terminal de Ubuntu.
Tulains Córdova