Buscar..


Introducción

Se utiliza un shell seguro para acceder de forma remota a un servidor desde un cliente a través de una conexión encriptada. OpenSSH se usa como una alternativa a las conexiones Telnet que logran acceso remoto a la shell pero no están encriptadas. El cliente OpenSSH está instalado en la mayoría de las distribuciones de GNU / Linux por defecto y se usa para conectarse a un servidor. Estos ejemplos muestran cómo usar el conjunto SSH para aceptar conexiones SSH y conectarse a otro host.

Conectando a un servidor remoto

Para conectarse a un servidor debemos usar SSH en el cliente de la siguiente manera,

# ssh -p port user@server-address
  • puerto : el puerto ssh de escucha del servidor (puerto predeterminado 22).
  • usuario : debe ser un usuario existente en el servidor con privilegios de SSH.
  • Dirección del servidor : la IP / dominio del servidor.

Para un ejemplo del mundo real, simulemos que estás creando un sitio web. La compañía que eligió para alojar su sitio le informa que el servidor está ubicado en web-servers.com en un puerto personalizado de 2020 y que su nombre de cuenta usr1 ha sido elegido para crear un usuario en el servidor con privilegios SSH. En este caso, el comando SSH utilizado sería como tal.

# ssh -p 2020 [email protected]

Si el nombre de la cuenta en el sistema remoto es el mismo que el del cliente local, puede omitir el nombre de usuario. Entonces, si está usr1 en ambos sistemas, entonces simplemente puede usar web-servers.com lugar de [email protected] .

Cuando no puede acceder directamente a un servidor al que desea conectarse, puede intentar usar el conmutador ProxyJump para conectarse a él a través de otro servidor al que tenga acceso y que pueda conectarse al servidor deseado.

# ssh -J [email protected]:2020 [email protected] -p 2222

Esto le permitirá conectarse al servidor 10.0.0.2 (ejecutando ssh en el puerto 2222) a través del servidor a 10.0.0.1 (ejecutando ssh en el puerto 2020). Necesitará tener cuentas en ambos servidores, por supuesto. También tenga en cuenta que el conmutador -J se introduce en la versión 7.3 de OpenSSH.

Instalación de la suite OpenSSH

Tanto la conexión a un servidor SSH removido como la aceptación de conexiones SSH requieren la instalación de openssh

Debian:

# apt-get install openssh

Arch Linux:

# pacman -S openssh

Mmm

# yum install openssh

Generar clave pública y privada.

Para generar claves para el cliente SSH:

ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]

Por ejemplo:

ssh-keygen -t rsa -b 4096 - C [email protected]

La ubicación predeterminada es ~/.ssh/id_rsa para privado y ~/.ssh/id_rsa.pub para clave pública.

Para obtener más información, visite man.openbsd.org

Configurando un servidor SSH para aceptar conexiones

Primero debemos editar el archivo de configuración del demonio SSH. Aunque bajo diferentes distribuciones de Linux, esto puede ubicarse en directorios diferentes, generalmente se almacena en /etc/ssh/sshd_config

Use su editor de texto para cambiar los valores establecidos en este archivo, todas las líneas que comiencen con # están comentadas y deben tener este carácter eliminado para que surta efecto. Una lista de recomendaciones sigue como tal.

Port (chose a number between 0 - 65535, normaly greater than four digits)
PasswordAuthentication yes
AllowUsers    user1 user2 ...etc

Tenga en cuenta que es preferible desactivar todos los inicios de sesión de contraseña y usar las claves SSH para mejorar la seguridad como se explica en este documento.

Deshabilitar el servicio ssh

Esto deshabilitará el servicio del lado del servidor SSH, ya que si es necesario, se asegurará de que los clientes no puedan conectarse a través de ssh

Ubuntu

sudo service ssh stop

Debian

sudo /etc/init.d/ssh stop

Arco de linux

sudo killall sshd

Conexión sin contraseña (usando un par de claves)

En primer lugar, tendrá que tener un par de claves. Si aún no tiene una, eche un vistazo al tema 'Generar clave pública y privada'.

Su par de claves está compuesto por una clave privada (id_rsa) y una clave pública (id_rsa.pub). Todo lo que necesita hacer es copiar la clave pública al host remoto y agregar su contenido al archivo ~/.ssh/authorized_keys .

Una forma simple de hacerlo es:

ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub

Una vez que la clave pública esté correctamente colocada en el directorio de inicio de su usuario, solo necesita iniciar sesión con la clave privada correspondiente:

ssh <user>@<ssh-server> -i id_rsa



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow