Búsqueda de sitios web

Cómo administrar múltiples sesiones SSH


Acerca de SSH

Todos sabemos qué es SSH, ¿verdad? SSH, significa Ssecure Shell (a veces conocido como Secure Socket Shell), es un protocolo criptográfico que se puede utilizar para acceder a un servidor remoto. y VPS de sus sistemas locales. No necesitamos estar cerca de la máquina física para realizar comandos en la Terminal del sistema remoto. Como su nombre lo indica, SSH es completamente seguro y cifra todo el tráfico entre los sistemas locales y remotos. SSH es en realidad un conjunto de tres utilidades: slogin, ssh y scp. Estas tres utilidades son el reemplazo seguro de las utilidades UNIX anteriores, a saber, rlogin, rsh y rcp. SSH le ayudará a obtener el entorno de Terminal virtual de los sistemas remotos.

Administrar múltiples sesiones SSH

En este tutorial, veremos cómo administrar múltiples sesiones ssh. A veces, es posible que desee acceder a la Terminal de varios usuarios de un sistema remoto al mismo tiempo, o puede que desee acceder a la Terminal de varios sistemas remotos mediante SSH. Como puedes hacer eso? No hay problema.

Hay pocas herramientas útiles para este propósito. En este tutorial, discutiremos las siguientes herramientas.

  1. Clúster SSH;
  2. Gerente del PAC.

Requisitos previos

Instale openSSH en sus sistemas remotos

Asegúrese de haber instalado el software openssh en sus sistemas remotos.

Para instalar openSSH en sistemas basados en DEB, ejecute:

sudo apt-get install openssh-server

En sistemas basados en RPM, ejecute:

yum install openssh-server

Inicie el servicio sshd y haga que se inicie automáticamente en cada reinicio.

En sistemas basados en RHEL 6.x:

service sshd start
chkconfig sshd on

En sistemas RHEL 7:

systemctl start sshd
systemctl enable sshd

1. Clúster SSH

Cluster SSH, también conocido como cssh, es una herramienta de administración de cluster vía SSH. Se utiliza para controlar la cantidad de ventanas xterm a través de una única ventana de consola gráfica para permitir que los comandos se ejecuten de forma interactiva en varios servidores a través de una conexión SSH. Si es un administrador de Linux que administra cientos de máquinas, es posible que tenga posibilidades de ingresar el mismo comando en muchos servidores. Para hacer eso, debe iniciar sesión en cada servidor e ingresar el comando en cada servidor. Es un proceso que requiere mucho tiempo. Usando ClusterSSH, los comandos escritos en la ventana de la consola de administración se replicarán en todos los servidores. En palabras simples, es una excelente herramienta para realizar el mismo cambio en varios servidores al mismo tiempo.

Instale Cluster SSH en su sistema local

En Ubuntu/Debian:

sudo apt-get install clusterssh

En RHEL/CentOS 6.x:

cssh no está disponible en los repositorios oficiales. Así que agregue el repositorio EPEL y luego instale clusterssh.

Para agregar el repositorio EPEL, ingrese el siguiente comando:

yum install epel-release

Ahora instale ClusterSSH:

yum install clusterssh -y

Agregar hosts

Aquí voy a administrar dos servidores remotos, uno es el servidor Ubuntu 15.04 y el otro es el servidor CentOS 6.6 desde mi escritorio Lubuntu 14.04. La dirección IP de ambos servidores es 192.168.1.100 y 192.168.1.101 respectivamente.

Inicie la consola Cssh desde Unity o Dash. La interfaz predeterminada de Cssh se verá a continuación.

Agreguemos ahora los hosts remotos. Para hacerlo, vaya a Hosts -> Agregar host(s) o clúster(es) en el menú principal. Ingrese la dirección IP del host remoto.

Escriba y presione Entrar para agregar las claves ssh de los hosts remotos a su sistema local.

Finalmente, ingrese la contraseña.

Eso es todo. Nos hemos conectado exitosamente al sistema Ubuntu 14.04 (192.168.1.100).

De manera similar, agregue tantos hosts remotos como desee.

Aquí está mi otro host remoto que se ejecuta con CentOS 6.5 (192.168.1.101).

¿Pero espera? Se supone que debemos gestionar varias sesiones SSH a la vez, ¿verdad? Sí. Ahora creemos un clúster que contenga más de un sistema.

Agregar clúster(es)

Cree un archivo de configuración Cluster SSH y defina los clústeres.

Aquí, usaré el nombre de mi clúster como testcluster.

Primero cree un archivo de configuración de clúster como se muestra a continuación:

sudo nano /etc/clusters

Agregue los siguientes contenidos:

clusters = testcluster
testcluster = 192.168.1.100 192.168.1.101

Guardar y salir del archivo.

Como mencioné anteriormente, testcluster es el nombre de mi clúster. 192.168.1.100 es la dirección IP de mi servidor Ubuntu 14.04 y 192.168.1.101 es la dirección IP de mi servidor CentOS 6. Alternativamente, puede utilizar nombres de host en lugar de direcciones IP.

Abre tu terminal y ejecuta el siguiente comando.

cssh -l sk testcluster

Aquí sk está el nombre de usuario de mi servidor remoto Ubuntu y centos.

Nota: Debe permitir que el puerto 22 a través del Firewall/Router acceda a los servidores desde cualquier máquina remota.

Las ventanas de terminal de todos los servidores se abrirán automáticamente. Consulte la siguiente captura de pantalla.

Ingrese la contraseña en las sesiones SSH de ambos servidores. Ahora verá que dos servidores están conectados.

Además, puede iniciar sesiones SSH de cada sistema utilizando el nombre de host o la dirección IP en lugar del nombre del clúster, como se muestra a continuación:

cssh -l sk 192.168.1.100 192.168.1.101

Uso

La pequeña ventana llamada CSSH(2) es la ventana de la consola de administración de ClusterSSH. Los comandos escritos en la consola de administración se reflejarán en ambos servidores.

Por ejemplo, escribamos hostname en la consola del CSSH y veamos qué sucede.

Como puede ver en la captura de pantalla anterior, el comando nombre de host se realiza automáticamente en ambos servidores al mismo tiempo y muestra el resultado.

Una advertencia: Tenga cuidado al utilizar el clúster CSSH. Si escribe comandos incorrectos o inapropiados en la consola de administración de CSSH, se ejecutará en todos los servidores simultáneamente y le causará problemas. Verifique dos veces los comandos antes de presionar Enter. ¡Disfrutar!

2. Gerente de PAC

PAC, conector Perl Autoauto, es un reemplazo de Perl/GTK para SecureCRT/PuTTY, etc. (Linux SSH/Telnet). Proporciona una GUI para configurar conexiones, usuarios, contraseñas, expresiones regulares EXPECT, macros, etc. Este es un software gratuito, con licencia de la versión GLPv3 de GNU.

Características

  • Aplicación Linux única para implementar la funcionalidad de SecureCRT;
  • Macros remotas y locales;
  • Envíe comandos de forma remota con EXPECT regexp;
  • Conexiones de cluster!! Las conexiones en el mismo clúster comparten pulsaciones de teclas;
  • Soporte de secuencias de comandos;
  • Conexión serie/tty a través de conexiones cu/tip/remote-tty;
  • Conexiones pre/post ejecuciones locales;
  • PESTAÑAS O VENTANAS para conexiones;
  • Soporte de proxy;
  • integración KeePass;
  • Capacidades de Wake On LAN;
  • Posibilidad de dividir terminales en la misma TAB;
  • Acceso rápido a las conexiones configuradas a través del icono del menú de la bandeja;
  • La mejor GUI de Linux para SSH, Telnet, SFTP, rdesktop, VNC, cu, remote-tty, FTP, etc.;
  • Paquetes DEB, RPM y .TAR.GZ disponibles;
  • GRATIS (GNU GPLv3).

Instalar PAC Manager en Ubuntu/Debian

Descargue la última versión de www.sourceforge.net:

wget http://sourceforge.net/projects/pacmanager/files/pac-4.0/pac-4.5.5-all.deb

Instálelo usando el comando:

sudo apt-get install gdebi
sudo gdebi pac-4.5.5-all.deb

Instalar PAC Manager en RHEL/CentOS

En sistemas de 32 bits:

wget http://sourceforge.net/projects/pacmanager/files/pac-4.0/pac-4.5.5-2.i386.rpm

En sistemas de 64 bits:

wget http://sourceforge.net/projects/pacmanager/files/pac-4.0/pac-4.5.5-2.x86_64.rpm

Luego, instale el administrador de PAC usando el comando:

rpm -ivh pac-4.5.5-2*.rpm

El administrador de PAC ya se ha instalado. A continuación, veamos cómo ver cómo funciona.

Iniciar PAC

Abre PAC desde tu tablero o menú. La ventana principal del administrador de PAC se verá a continuación.

Agregar hosts remotos

Primero, veamos cómo acceder a un único host remoto.

Haga clic en el icono Nueva conexión en la parte superior izquierda de la ventana principal de PAC.

Introduzca el Nombre y el Título de la nueva conexión.

En la siguiente ventana, seleccione el método de conexión en el cuadro desplegable Método. Hay muchos métodos de conexión disponibles, como FTP, SFTP, SSH, RDP, RDESKTOP y VNC, etc. El método predeterminado es SSH. Luego ingrese la dirección IP, el nombre de usuario y la contraseña del host remoto. Finalmente, haga clic en el botón Guardar y Cerrar.

Si desea ejecutar el usuario remoto con permiso sudo, marque la casilla 'sudo' debajo del cuadro desplegable del método de conexión.

Ahora el nodo remoto se agregará en la pestaña Conexiones en la ventana principal de PAC.

Conectarse al host remoto

Seleccione el nodo remoto al que desea acceder y haga clic en Conectar.

¡Voilá! Ahora podrá conectarse a su host remoto.

Como puede ver en la captura de pantalla anterior, puedo acceder a mi servidor Ubuntu 15.04 desde PAC Manager. De manera similar, puede agregar y acceder a tantos hosts remotos como desee. Todos los hosts remotos aparecerán en la sección "Conexiones" en el lado izquierdo de la ventana principal de PAC.

Las siguientes capturas de pantalla muestran las sesiones SSH de mi servidor remoto Ubuntu y CentOS.

Crear clúster(es)

Usando Cluster, podemos combinar dos o más sistemas y ejecutar el mismo comando en múltiples sesiones SSH al mismo tiempo.

Primero, conéctese a los sistemas remotos que desea agregar al clúster.

Creemos un nuevo cluster. Para crear un clúster, haga clic en el botón Clústeres en la esquina inferior izquierda de la ventana PAC.

La siguiente ventana aparecerá. Haga clic en el botón Agregar.

Introduzca el nombre del clúster.

Seleccione los hosts remotos y haga clic en el botón Agregar al clúster.

Ahora, nuestros hosts remotos están unidos al clúster. Haga clic en Aceptar para guardar.

Ahora, ingrese cualquier comando en la sesión SSH de cualquier host remoto. El mismo comando se replicará en todos los sistemas del clúster. Por ejemplo, escribo el comando "ifconfig" en la Terminal de Ubuntu y el mismo comando se ejecuta automáticamente en el servidor CentOS 6.6.

Tenga cuidado al ingresar comandos en el clúster. En caso de que ingrese un comando incorrecto, todos los sistemas afectarán en el clúster.

Crear grupos

Haga clic en el ícono Nuevo grupo en la esquina superior izquierda.

Ingrese el nombre del grupo.

El grupo recién creado aparecerá en la sección Conexiones. Haga clic derecho en el grupo y seleccione "Agregar conexión".

Introduzca el nombre del nuevo nodo.

Ingrese la dirección IP del nodo, el nombre de usuario y la contraseña. Finalmente, haga clic en el botón Guardar y cerrar.

De manera similar, puede agregar tantos nodos como desee al grupo.

Ahora, seleccione un nodo en el grupo y haga clic en el botón Conectar para iniciar la nueva sesión SSH. Además, puede hacer clic derecho en el nombre del grupo y seleccionar la opción "Ejecutar en un nuevo clúster" para iniciar todas las sesiones SSH de los nodos a la vez.

Ingrese el nombre del clúster y haga clic en Aceptar.

Ahora, se abrirán automáticamente las sesiones SSH de todos los nodos del grupo.

Como quizás ya sepa, si ingresa un comando en cualquier sesión SSH, el comando se ejecutará en todos los nodos del clúster. ¡Así que ten cuidado!

Iniciar múltiples instancias SSH

Otra característica interesante es que podemos abrir múltiples instancias SSH (hasta 9) de nuestros hosts remotos.

Para iniciar las instancias múltiples, haga clic derecho en el nodo remoto y seleccione "Iniciar". En el submenú del elemento "Inicio", elija la cantidad de instancias que desea abrir.

Como puede ver en la siguiente captura de pantalla, estoy ejecutando tres sesiones SSH del servidor CentOS.

Soporte multiprotocolo

PAC Manager no sirve sólo para acceder a la terminal del servidor remoto. Tiene algunas características más avanzadas.

Admite múltiples protocolos como FTP, SFTP, redesktop, MOSH, VNC, WEBDAV y muchos más. Por ejemplo, para acceder a su servidor remoto mediante el protocolo FTP, haga lo siguiente.

Primero asegúrese de haber instalado el servidor FTP en su sistema remoto. Consulte el siguiente enlace para instalar el servidor FTP en sistemas basados en RPM.

  • Instalar y configurar el servidor FTP en CentOS 7
  • Configurar el servidor FTP en CentOS, RHEL, Scientific Linux 6.5/6.4/6.3
  • Cómo configurar el servidor FTP en openSUSE 13.2/13.1

Luego, haga clic derecho en su nodo remoto en la sección Conexiones y seleccione "Editar conexión".

La siguiente ventana aparecerá. En el cuadro desplegable "Método", seleccione el protocolo FTP. Luego, haga clic en el botón Guardar y cerrar.

Ahora, haga clic en el botón Conectar. Eso es todo. Nos hemos conectado exitosamente al nodo remoto mediante FTP.

Podemos evitar cambios accidentales como editar, cambiar el nombre o eliminar hosts remotos.

Para hacer eso, haga clic derecho en el nodo remoto y seleccione la opción "Proteger".

Conclusión

Estas herramientas son ideales para quienes administran una gran cantidad de sistemas remotos. Entre estas dos herramientas, PAC Manager tiene muchas funciones además de Cluster SSH. El administrador de PAC tiene soporte multiprotocolo, proxy, KeepassX, soporte para sesiones de guardado automático y muchos más. Estas herramientas son muy recomendables y útiles para las actividades diarias de un administrador del sistema.

¡Salud!