7 formas de utilizar SSH para acelerar las conexiones a servidores remotos 1

7 formas de utilizar SSH para acelerar las conexiones a servidores remotos

Índice
  1. 7 Reenvío X
  2. 6 Iniciar sesión como diferentes usuarios
  3. 5 Conectarse a través de diferentes puertos
  4. 4 Ejecutar comandos al iniciar sesión
  5. 3 Usando una Configuración Alternativa
  6. 2 Modo Detallado
  7. 1 Configura una Clave para Inicios de Sesión Sin Contraseña

SSH no solo permite conexiones seguras a servidores remotos; también ofrece funciones avanzadas como reenvío X, inicio de sesión con diferentes usuarios y ejecución de comandos remotos.

SSH es una herramienta ubicua para conectarse a servidores remotos, pero hay muchas cosas que puedes hacer con ella. Aquí hay algunas técnicas para facilitar tus sesiones remotas.

7 Reenvío X

Una característica genial y subestimada de SSH es la capacidad de reenviar aplicaciones gráficas a través de X11. Podrías pensar que SSH es solo una forma de utilizar la línea de comandos de manera remota, pero también puedes ejecutar aplicaciones GUI completas, aunque más lentamente a través de la red de lo que lo harías si estuvieras en la máquina. Esta función se conoce como "reenvío X". Es similar a cómo se podría reenviar correo a otra dirección. La máquina está reenviando aplicaciones X desde la máquina principal a tu máquina.

Esto es algo que ha sido parte de X11 desde el principio, aunque a través de telnet y XDMCP en lugar de SSH. SSH es más seguro y deberías evitar los otros protocolos si es posible.

Para utilizar el reenvío X, tendrás que habilitarlo en el archivo de configuración. En sistemas Linux, generalmente se encuentra en /etc/ssh/ssh_config. Puedes editarlo con un editor de texto como superusuario, por ejemplo, con Vim:

sudo vim /etc/ssh/ssh_config

Busca la línea que dice "ForwardX11". Puedes activarla eliminando el carácter "#" (hash) del principio y cambiando "no" por "sí". Guarda el archivo. Es posible que debas reiniciar el servidor o el sistema.

En la mayoría de los sistemas Linux modernos con systemd, el comando para hacer esto usando systemctl será:

sudo systemctl restart sshd.service

Si estás en un servidor remoto gestionado por otra persona, es posible que debas pedir al administrador del sistema que lo haga.

Una vez que el reenvío X esté configurado, puedes iniciar sesión a través de SSH con las opciones -X o -Y:

ssh -X example.com

Una vez que inicies sesión, verás el aviso familiar. Para comprobar que X11 está funcionando, primero examina la variable de entorno $DISPLAY:

echo $DISPLAY

Si está vacío, es probable que algo haya fallado. Revisa los mensajes de error y verifica nuevamente el archivo de configuración.

Con el reenvío X11 funcionando, ahora puedes lanzar aplicaciones GUI. Necesitarás ejecutarlas en segundo plano añadiendo un "&" (ampersand) al final. Por ejemplo, para lanzar xeyes:

xeyes &

Si olvidas y simplemente lanzas una aplicación GUI desde la terminal, descubrirás que ha tomado el control de la terminal y no te permitirá escribir nada. Para recuperar tu shell, presiona Ctrl+Z y luego escribe "bg" en el aviso. Esto colocará la aplicación en segundo plano.

6 Iniciar sesión como diferentes usuarios

Cuando intentas iniciar sesión en un servidor remoto a través de SSH, asumirá que estás usando el mismo nombre de usuario que en tu sistema local. Muchas veces, esto no es lo que deseas. Podrías tener un nombre de cuenta diferente que en tu máquina local, o puedes querer iniciar sesión utilizando una cuenta alternativa, como para probar una configuración. Esto es fácil de hacer con el cliente SSH.

Puedes especificar el usuario proporcionando el símbolo "@" (arroba), similar a una dirección de correo electrónico:

ssh [email protected]

Alternativamente, puedes usar la opción -l

ssh -l user example.com

Por supuesto, necesitas la cuenta y la contraseña correctas, o configurar una clave, lo cual se explicará más adelante en este artículo.

5 Conectarse a través de diferentes puertos

El servidor SSH estará escuchando por defecto en el puerto 22, pero algunos servidores utilizarán otros puertos por diversas razones. Si se te ha indicado que uses otro puerto para conectarte a un servidor, utiliza la opción -p.

Por ejemplo, para conectarte a un sistema a través del puerto 2222

ssh example.com -l 2222

Puedes combinar esto con un nombre de usuario diferente y otras opciones:

ssh [email protected] -p 2222

Si eso no funciona, asegúrate de tener la dirección y el número de puerto correctos. Es posible que necesites habilitar un puerto en tu firewall local, como el firewall de Windows, o en el servidor remoto.

4 Ejecutar comandos al iniciar sesión

Por defecto, cuando inicias sesión en un servidor remoto, se te presentará la shell para escribir comandos, pero también puedes ejecutar comandos directamente desde tu shell local. Por ejemplo, para ejecutar ls en el sistema remoto:

ssh [email protected] ls

Comando, muestra su salida en tu terminal y luego sal al símbolo del sistema local. Esto es útil cuando solo quieres ejecutar comandos rápidamente en el sistema remoto sin tener que iniciar y cerrar sesión. También es práctico si tienes un script de shell u otro programa que deseas ejecutar en la máquina remota.

3 Usando una Configuración Alternativa

Aparte de establecer comandos en tu archivo de configuración como se mencionó anteriormente, puedes configurarlos para la sesión con la opción -o. Esto es útil para probar nuevas configuraciones antes de comprometerlas al archivo de configuración.

Una forma fácil de hacerlo es usar un archivo de configuración diferente.

Para hacer esto, usa la opción -F

ssh -F /path/to/my/config [email protected]

También puedes especificar opciones en la línea de comandos con la opción -o. Puedes activar el reenvío X de esta manera, similar a las opciones -X y -Y que se mostraron anteriormente. Consulta la página del manual de ssh_config para más detalles sobre las opciones disponibles. Son las mismas en la línea de comandos que en los archivos de configuración.

ssh -o 'ForwardX11 yes' [email protected]

2 Modo Detallado

Si tienes problemas para conectarte, puedes examinar cómo funciona SSH con el modo detallado. O puede que simplemente tengas curiosidad. Puedes activarlo con la opción -v.

ssh -v [email protected]

Aunque SSH por sí mismo es conciso y no inserta mucha información sobre la conexión mientras está en funcionamiento, el modo detallado muestra mucha información. La mayoría de esto será de interés para desarrolladores y administradores de sistemas más que para usuarios comunes. Aquí, SSH te dirá exactamente lo que está haciendo mientras establece una conexión y te inicia sesión.

Si pides ayuda en un foro o sala de chat, un desarrollador podría pedirte que uses esta opción y copies y pegues la sesión para diagnosticar cualquier problema con el programa o tu red.

1 Configura una Clave para Inicios de Sesión Sin Contraseña

Podrías pensar que a los usuarios de SSH les gusta escribir, pero muchas veces, no es así. Una cosa que puede resultar molesta es tener que escribir continuamente contraseñas. Afortunadamente, puedes generar una clave que puedes usar para inicios de sesión sin contraseña.

Primero, ejecuta el programa ssh-keygen desde tu terminal local.

Te pedirá qué tipo de clave criptográfica utilizar. La predeterminada es Ed25519. Esto es lo que deberías aceptar a menos que te conectes a un servidor que requiera un tipo específico de clave.

A continuación, se te pedirá que ingreses una frase de paso opcional. Esta puede ser más larga y compleja que una contraseña común. Si decides usar una, asegúrate de que sea algo que puedas recordar. Si la olvidas, no podrás usar esta clave nuevamente. Puedes simplemente presionar Enter para dejar esta frase de paso en blanco.

ssh-keygen generará un par de claves que comprende una clave pública y una clave privada. La clave privada se copiará en el servidor remoto. La clave privada residirá en tu máquina.

No entregues tu clave privada bajo ninguna circunstancia. Esto comprometerá el par de claves.

La clave pública se listará en el directorio .ssh en sistemas Linux con la extensión .pub. Es un archivo de texto ordinario. Puedes abrirlo con un editor de texto y copiar el contenido utilizando la función de copiar y pegar de tu sistema operativo. Luego, puedes iniciar sesión en el sistema remoto donde deseas usarla y pegar esta clave pública en el archivo .ssh/authorized_keys. El directorio .ssh no debe ser legible por otros usuarios en el sistema, ya que representa un riesgo de seguridad, dado que otros usuarios pueden ver cualquier clave privada que tengas en el sistema. SSH se negará a ejecutarse si detecta permisos incorrectos. Es mejor dejar los permisos en los valores predeterminados cuando SSH fue instalado. Si es necesario, puedes usar el comando chmod para cambiar los permisos del directorio.

También puedes usar el programa ssh-copy-id. Puedes ejecutarlo en la línea de comandos.

ssh-copy-id [email protected]

Se te pedirá tu contraseña para tu cuenta en la máquina remota. Con un aviso exitoso, tu clave pública se copiará automáticamente. Esto podría ser menos propenso a errores que hacerlo manualmente.

Podrías sorprenderte de lo que puedes hacer con SSH. Su seguridad y flexibilidad son las razones por las que es un favorito de los profesionales de redes y computación que necesitan gestionar servidores remotos.

Si deseas encontrar artículos similares a 7 formas de utilizar SSH para acelerar las conexiones a servidores remotos, te sugerimos revisar la categoría Linux.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir