Cómo usar SSH para conectarse a un servidor remoto | DigitalOcean (2024)

Introducción

SSH es una herramienta esencial para ser un administrador de sistemas experto.

SSH, o Secure Shell, es un protocolo que se utiliza para iniciar sesión de forma segura en sistemas remotos. Es la forma más común de acceder a servidores Linux remotos.

En esta guía, analizaremos cómo usar SSH para conectarse a un sistema remoto.

Sintaxis básica

Para conectarse a un sistema remoto mediante SSH, usaremos el comando ssh. El formato más básico del comando es:

  1. ssh remote_host

En este ejemplo, remote_host es la dirección IP o el nombre de dominio al que está tratando de conectarse.

Este comando asume que su nombre de usuario en el sistema remoto es el mismo que el que usa en el sistema local.

Si su nombre de usuario es diferente en el sistema remoto, puede especificarlo usando esta sintaxis:

  1. ssh remote_username@remote_host

Cuando se haya conectado al servidor, se le puede solicitar que verifique su identidad mediante el ingreso de una contraseña. Más adelante, cubriremos cómo generar claves para usar en vez de contraseñas.

Para salir de la sesión de ssh y volver a la sesión de shell local, escriba lo siguiente:

  1. exit

¿Cómo funciona SSH?

SSH funciona mediante la conexión de un programa cliente a un servidor ssh, llamado sshd.

En la sección anterior, ssh era el programa cliente. El servidor ssh ya está en ejecución en el remote_host que se especificó.

En su servidor, el servidor sshd ya debe estar en ejecución. Si no es así, es posible que deba acceder a su servidor mediante una consola basada en la web o una consola serie local.

El proceso que debe iniciar un servidor ssh depende de la distribución de Linux que esté utilizando.

En Ubuntu, para iniciar el servidor ssh, debe escribir lo siguiente:

  1. sudo systemctl start ssh

Eso debería iniciar el servidor sshd y, luego, puede iniciar sesión de forma remota.

Cómo configurar SSH

Cuando cambie la configuración de SSH, cambiará la configuración del servidor sshd.

En Ubuntu, el archivo de configuración sshd principal se encuentra en /etc/ssh/sshd_config.

Haga una copia de seguridad de la versión actual de este archivo antes de editarlo:

  1. sudo cp /etc/ssh/sshd_config{,.bak}

Ábralo con un editor de texto:

  1. sudo nano /etc/ssh/sshd_config

Tendrá que dejar la mayoría de las opciones de este archivo sin modificar. Sin embargo, es posible que desee echar un vistazo a algunas:

/etc/ssh/sshd_config

Port 22

La declaración de puerto especifica en qué puerto se escuchará el servidor sshd para las conexiones. De forma predeterminada, es el 22. Es recomendable dejar esta configuración sin modificar, a menos que tenga razones específicas para hacerlo. Si efectivamente cambia de puerto, le mostraremos cómo conectarse al puerto nuevo más adelante.

/etc/ssh/sshd_config

HostKey /etc/ssh/ssh_host_rsa_keyHostKey /etc/ssh/ssh_host_dsa_keyHostKey /etc/ssh/ssh_host_ecdsa_key

Las declaraciones de claves de host especifican dónde buscar claves de host globales. Analizaremos qué es una clave de host más adelante.

/etc/ssh/sshd_config

SyslogFacility AUTHLogLevel INFO

Estos dos elementos indican el nivel de registro que debería ocurrir.

Si tiene dificultades con SSH, incrementar la cantidad de registros puede ser una buena forma de descubrir cuál es el problema.

/etc/ssh/sshd_config

LoginGraceTime 120PermitRootLogin yesStrictModes yes

Estos parámetros especifican parte de la información de inicio de sesión.

LoginGraceTime especifica cuántos segundos se mantendrá la conexión activa sin iniciar sesión correctamente.

Una buena idea puede ser establecer este tiempo en un valor un poco mayor que la cantidad de tiempo que le toma iniciar sesión normalmente.

PermitRootLogin selecciona si se permite que el usuario root inicie sesión.

En la mayoría de los casos, esto debería modificarse a no cuando haya creado una cuenta de usuario que tenga acceso a mayores privilegios (a través de su o sudo) y que pueda iniciar sesión a través de ssh.

strictModes es un protector de la seguridad que denegará un intento de inicio de sesión si cualquiera puede leer los archivos de autenticación.

Esto evita intentos de inicio de sesión cuando los archivos de configuración no son seguros.

/etc/ssh/sshd_config

X11Forwarding yesX11DisplayOffset 10

Estos parámetros configuran una capacidad llamada Reenvío X11. Esto le permite ver en el sistema local la interfaz gráfica de usuario (GUI) del sistema remoto.

Esta opción debe habilitarse en el servidor y asignarse con el cliente SSH durante la conexión con la opción -X.

Tras realizar los cambios, guarde y cierre el archivo mediante CTRL+X e Y, seguido de INTRO.

Si modificó alguna configuración en /etc/ssh/sshd_config, asegúrese de volver a cargar el servidor sshd para implementar los cambios.

  1. sudo systemctl reload ssh

Debería probar completamente los cambios para garantizar que funcionan de la forma en que se espera.

Una buena idea puede ser tener algunas sesiones activas cuando realice cambios. Esto le permitirá revertir la configuración si es necesario.

Cómo iniciar sesión en SSH con claves

Si bien es útil poder iniciar sesión en un sistema remoto usando contraseñas, es mucho mejor configurar una autenticación basada en claves.

¿Cómo funciona la autenticación basada en claves?

La autenticación basada en claves funciona mediante la creación de un par de claves: una clave privada y una clave pública.

La clave privada se encuentra en el equipo cliente y se protege y mantiene en secreto.

La clave pública puede entregarse a alguien o colocarse en cualquier servidor al que desee acceder.

Cuando intente conectarse usando un par de claves, el servidor usará la clave pública para crear un mensaje para el equipo cliente que solo puede leerse con la clave privada.

Luego, el equipo cliente envía la respuesta apropiada al servidor y así el servidor sabrá que el cliente es legítimo.

El proceso completo se realiza automáticamente después de configurar las claves.

Cómo crear claves SSH

Las claves SSH deben generarse en el equipo desde el que desea iniciar sesión. Generalmente, es su equipo local.

Ingrese lo siguiente en la línea de comandos:

  1. ssh-keygen -t rsa

Presione Intro para aceptar los valores predeterminados. Sus claves se crearán en ~/.ssh/id_rsa.pub y ~/.ssh/id_rsa.

Cambie al directorio .ssh escribiendo lo siguiente:

  1. cd ~/.ssh

Vea los permisos de los archivos:

  1. ls -l

Output

-rw-r--r-- 1 demo demo 807 Sep 9 22:15 authorized_keys-rw------- 1 demo demo 1679 Sep 9 23:13 id_rsa-rw-r--r-- 1 demo demo 396 Sep 9 23:13 id_rsa.pub

Como puede ver, solo el propietario puede leer el archivo id_rsa y escribir en él. Así es como debería ser mantenerlo en secreto.

Sin embargo, el archivo id_rsa.pub puede compartirse y tiene permisos apropiados para esta actividad.

Cómo transferir su clave pública al servidor

Si actualmente tiene acceso con contraseña a un servidor, puede copiar su clave pública en él mediante la emisión de este comando:

  1. ssh-copy-id remote_host

Con esto se iniciará una sesión SSH. Después de ingresar su contraseña, su clave pública se copiará en el archivo de claves autorizadas del servidor, lo que le permitirá iniciar sesión sin la contraseña la próxima vez.

Opciones del lado del cliente

Hay varios indicadores opcionales que puede seleccionar cuando se conecta mediante SSH.

Algunos de ellos pueden ser necesarios para que la configuración coincida con la del sshd del host remoto.

Por ejemplo, si cambió el número de puerto en su configuración de sshd, también deberá cambiarlo en el lado del cliente para que coincida escribiendo lo siguiente:

  1. ssh -p port_number remote_host

Si solo desea ejecutar un comando único en un sistema remoto, puede especificarlo después del host como este:

  1. ssh remote_host command_to_run

Se conectará al equipo remoto, se autenticará y se ejecutará el comando.

Como dijimos antes, si el reenvío X11 se habilita en ambas computadoras, puede acceder a esa funcionalidad escribiendo lo siguiente:

  1. ssh -X remote_host

Siempre que tenga las herramientas apropiadas en su computadora, los programas de GUI que utiliza en el sistema remoto ahora abrirán su ventana en el sistema local.

Si creó claves SSH, puede mejorar la seguridad de su servidor deshabilitando la autenticación únicamente mediante contraseña. Aparte de la consola, la única forma de iniciar sesión en su servidor será mediante la clave privada que se empareja con la clave pública que se haya instalado en el servidor.

Advertencia: Antes de continuar con este paso, asegúrese de haber instalado una clave pública en su servidor. Si no es así, quedará bloqueado.

Como root o usuario con privilegios sudo, abra el archivo de configuración sshd:

  1. sudo nano /etc/ssh/sshd_config

Busque la línea que dice Password Authentication y quite el comentario en ella eliminando el # inicial. Luego, puede cambiar su valor a no:

/etc/ssh/sshd_config

PasswordAuthentication no

Dos parámetros adicionales que no deben modificarse (siempre que no haya modificado este archivo antes) son PubkeyAuthentication y PubkeyAuthentication. Están configurados de forma predeterminada y deben mostrar lo siguiente:

/etc/ssh/sshd_config

PubkeyAuthentication yesChallengeResponseAuthentication no

Después de realizar los cambios, guarde y cierre el archivo.

Ahora puede volver a cargar el demonio SSH:

  1. sudo systemctl reload ssh

Ahora, la autenticación mediante contraseña debería deshabilitarse y solo debe poder acceder a su servidor mediante la autenticación de claves SSH.

Conclusión

Aprender cómo usar SSH es un proceso que vale la pena, aunque solo sea una actividad común.

A medida que utilice las diversas opciones, descubrirá funciones más avanzadas que pueden facilitarle la vida. SSH ha mantenido su popularidad porque es seguro, ligero y útil en diversas situaciones.

Cómo usar SSH para conectarse a un servidor remoto  | DigitalOcean (2024)

FAQs

¿Cómo conectarse a un servidor mediante SSH? ›

Conectarse en SSH mediante un navegador
  1. abrir el Manager (manager.infomaniak.com)
  2. ir a Alojamiento.
  3. hacer clic en el alojamiento/el nombre de dominio correspondiente.
  4. en el panel lateral izquierdo, hacer clic en FTP / SSH.
  5. hacer clic en el botón Web SSH.

¿Cómo conectarse remotamente a un servidor Linux? ›

Conectarse al servidor remoto

En el menú del entorno de trabajo, pulse Ventana > Abrir perspectiva > Explorador de sistemas remotos. En la vista Sistemas remotos, Conexión nueva se expande automáticamente para mostrar los distintos sistemas remotos a los que puede conectarse a través del Explorador de sistemas remotos.

¿Qué es la conexión SSH? ›

SSH son las siglas de Secure SHell y es un protocolo de red destinado principalmente a la conexión con máquinas a las que accedemos por línea de comandos. En otras palabras, con SSH podemos conectarnos con servidores, usando la red Internet como vía para las comunicaciones.

¿Cómo me conecto a un servidor Linux desde Windows? ›

Si tienes Windows
  1. Abre el buscador de aplicaciones, escribe Escritorio Remoto y abre Conexión a Escritorio remoto.
  2. Pega la IP de tu Servidor y presiona Enter. ...
  3. Copia y pega tus credenciales de acceso. ...
  4. Listo, ya estás dentro y puedes empezar a trabajar con él.
Dec 29, 2020

¿Qué necesita un usuario para poder conectarse por SSH? ›

  1. Qué necesita para la conexión mediante SSH. Para conectarse a un dispositivo mediante SSH, necesitará: ...
  2. Iniciar el servidor SSH. ...
  3. Conectarse mediante un nombre y una contraseña. ...
  4. Conectarse mediante un par de claves. ...
  5. Conectar. ...
  6. FTP seguro.
May 30, 2023

¿SSH es siempre el puerto 22? ›

De forma predeterminada, el servidor SSH todavía se ejecuta en el puerto 22 . Sin embargo, hay ocasiones en las que se ejecuta en un puerto diferente.

¿Cómo saber si SSH está instalado? ›

Abra Configuración, seleccione Aplicaciones > Aplicaciones y características y, a continuación, seleccione Características opcionales. Examine la lista para ver si OpenSSH ya está instalado.

¿Cómo conectar SSH en Windows? ›

Puede iniciar una sesión SSH en su símbolo del sistema ejecutando ssh usuario@máquina y se le pedirá que ingrese su contraseña. Puede crear un perfil de Terminal de Windows que haga esto al inicio agregando la configuración de la línea de comandos a un perfil en su archivo settings.json dentro de la lista de objetos de perfil.

¿Cómo entrar a SSH en Windows? ›

Para ello, enciende el PC que vayas a usar como servidor, pulsa Windows + R y escribe services. msc en la ventana que te va aparecer para ejecutar programas. Se abrirá la ventana de servicios de Windows. En ella, tienes que buscar y hacer click derecho sobre el servicio OpenSSH SSH Server que tienes.

¿Puedo utilizar SSH de Windows a Linux? ›

Método 2: usar SSH en el subsistema de Windows para Linux

Puede utilizar no sólo SSH sino también otras herramientas de línea de comandos de Linux (Bash, sed, awk, etc.). Abra Microsoft Store e ingrese WSL en el cuadro de búsqueda. Seleccione Ejecutar Linux en Windows e instale una distribución de Linux de su elección.

¿Cómo conectarse al servidor Linux desde PowerShell? ›

Para conectarse a su instancia usando OpenSSH

En PowerShell o el símbolo del sistema, use el comando ssh para conectarse a la instancia . Usted especifica la ruta y el nombre de archivo de la clave privada ( . pem ), el nombre de usuario de su instancia y el nombre DNS público o la dirección IPv6 de su instancia.

¿Cómo acceder al servidor Ubuntu de forma remota? ›

Abra la terminal en el cuadro de Ubuntu y presione CTRL+ALT+T para iniciar la sesión de escritorio remoto. Utilice SSH para iniciar sesión en la máquina remota utilizando su nombre de usuario y la dirección IP/nombre de host. Escriba Sí, si recibe una advertencia, la clave de la conexión SSH no le resulta familiar.

¿Cómo conectar un ordenador a un servidor? ›

Para agregar servidores en el grupo de servidores
  1. Si ya se ha abierto el Administrador del servidor, vaya al siguiente paso. ...
  2. En el menú Administrar, haga clic en Agregar servidores.
  3. Realice una de las acciones siguientes. ...
  4. Cuando haya terminado de agregar nombres, haga clic en Aceptar.
Mar 8, 2023

Top Articles
Latest Posts
Article information

Author: Lilliana Bartoletti

Last Updated:

Views: 5785

Rating: 4.2 / 5 (73 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Lilliana Bartoletti

Birthday: 1999-11-18

Address: 58866 Tricia Spurs, North Melvinberg, HI 91346-3774

Phone: +50616620367928

Job: Real-Estate Liaison

Hobby: Graffiti, Astronomy, Handball, Magic, Origami, Fashion, Foreign language learning

Introduction: My name is Lilliana Bartoletti, I am a adventurous, pleasant, shiny, beautiful, handsome, zealous, tasty person who loves writing and wants to share my knowledge and understanding with you.