Pregunta ¿Múltiples instrucciones de comando con una conexión SSH?


Tengo una necesidad de hacer mucho en vim en un servidor remoto en el que necesito SSH. Encuentro que es mejor si puedo mirar múltiples documentos en varias ventanas en mi escritorio, así que para hacerlo abro dos o tres sesiones SSH en el servidor remoto. Sin embargo, esto se está volviendo un poco tedioso, ya que tengo que volver a ingresar al paquete varias veces, y tengo que asegurarme de que cada ventana permanezca lo suficientemente activa como para evitar el cierre de sesión automático.

¿Hay alguna manera de SSH en una vez y luego volver a conectarlo con diferentes ventanas de terminal? (Yo uso OSX y Ubuntu predominantemente).


4


origen




Respuestas:


Screen y tmux le ofrecen las respuestas que está buscando, pero para ampliar su pregunta un poco, me gustaría sugerirle que investigue el asunto de la autenticación basada en claves SSH para que no necesite el nombre de usuario y la contraseña todo el tiempo. usted SSH en su servidor remoto :-)


5



Buen punto. En general es más seguro también - ver superuser.com/questions/303358/... - Randy Orrison
(De hecho, me he mudado a la autenticación basada en claves) - cwallenpoole


Otra alternativa posible es usar sshfs.

sshfs le permite montar remotamente cualquier directorio accesible en una máquina remota a través de ssh, como un volumen en su máquina. Funciona genial. El beneficio aquí es que puede trabajar con todos los archivos en la máquina remota como si fueran locales. En general, será más fácil de usar que la pantalla: inicie sesión una vez, y cualquier otra cosa que haga con los archivos remotos será como si estuviera trabajando con archivos locales.

La otra alternativa es utilizar la capacidad de vim para editar archivos remotos a través de ssh. Mira aquí: http://vim.wikia.com/wiki/Editing_remote_files_via_scp_in_vim


3





No es exactamente lo que pediste, pero el GNU pantalla utilidad le permite tener múltiples terminales virtuales en una sola ventana. También protege contra la interrupción de la conexión, ya que puede volver a conectarse a una sesión de pantalla desconectada.


2



Simplemente podría funcionar. Tendré que intentar y ver. - cwallenpoole


tmux también es una opción (similar a GNU screen) Su base de código es más pequeña y limpia, admite paneles uno al lado del otro sin ningún tipo de problema adicional, y en mi opinión es mucho más agradable de usar. Sin embargo, la pantalla es mucho más común, por lo que vale la pena aprender a usarla de todos modos.

Usar tmux, simplemente instálelo en la máquina en la que desea instalar SSH. Luego, SSH in, ejecuta tmux, y ahora puede ejecutar múltiples terminales o aplicaciones de consola en la misma pantalla o en diferentes 'ventanas' (análogas a las áreas de trabajo de Ubuntu) en la misma terminal. Tratar man tmux para los controles.


2





Y otra opción es vim incorporado netrw complemento para abrir archivos remotos. Funciona muy bien con el plugin Project.

Pero para poder trabajar con algo por ssh lo primero que hago es registrar mi clave ssh: ssh-copy-id user@host para registrar la clave con el host y verificar ssh-agent se está ejecutando y agregue la clave utilizada con ssh-add.

A menudo hago cosas como:

diffsplit scp://user@$REMOTE/path/to/dir/%

que diffs el archivo en $REMOTE anfitrión en ~user/path/to/dir con el mismo nombre relativo que el archivo abierto actual. Me encanta vim, aunque estoy seguro de que también es posible en emacs.


0





Puede ejecutar múltiples sesiones SSH a través de una única conexión SSH al hacer que el primer inicio de sesión (que configura la conexión) sea un maestro de control y que las invocaciones subsiguientes del contacto SSH sean el maestro de control y su sesión reenvíe a través de la conexión ya autenticada del maestro.

Haga esto con lo siguiente en su archivo de configuración:

Host somehost
    # ~/tmp/sc must exist beforehand and should have mode 0700.
    ControlPath ~/tmp/sc/%h.%p
    ControlMaster auto

Ver el ssh_config(5) página de manual para algunos detalles más sobre exactamente cómo funciona esto.


0





Solo porque nadie lo mencionó aún ... Si su conexión es lo suficientemente rápida, podría ver el reenvío de X a través de SSH: use el -X argumento para ssh (1).

Yo uso esto diariamente, usando MobaXterm (o en el pasado Xming) en una PC con Windows, para acceder a una máquina de desarrollo Linux local, aunque principalmente para xterm ventanas.


0