OpenSSH en Ubuntu server


OpenSSH es una herramienta popular para la seguridad y la comunicación en red, en este post, hablaremos sobre OpenSSH en Ubuntu server

oscar Escrito por oscar 18 July 2023 972 0

Por defecto, SSH cliente esta instalado en las nuevas distribuciones de Ubuntu, y lo podemos comprobar colocando en la termina ssh donde aparcera la ayuda de este comando, pero OpenSSH server no esta instalado, en este post realizaremos la instalación y la configuración de SSH.

Para hacer este contenido, nos vamos a guiar de la documentación oficial OpenSSH Server | Ubuntu.

Precondiciones

Entrono y programas a instalar

  • Ubuntu Server 22.04
  •  

Instalar ssh en ubuntu server

 La instalación de las aplicaciones cliente y servidor OpenSSH es simple, siga los siguientes pasos para tener este servicio en su sistema:

1. Actualizar los paquetes de instalación de Ubuntu server:

sudo apt-get update
sudo apt-get upgrade

2. Para instalar las aplicaciones cliente OpenSSH en su sistema Ubuntu, use este comando en un indicador de terminal:

sudo apt install openssh-client

3. Para instalar la aplicación de servidor OpenSSH y los archivos de soporte relacionados, use este comando en un indicador de terminal:

sudo apt install openssh-server

Servicios

Estado del servidor

Podemos usar el siguiente comando para ver el estdo del servior ssh.

sudo /etc/init.d/ssh status

Arrancar el servidor

Podemos usar el siguiente comando para iniciar el servidor de ssh.

sudo /etc/init.d/ssh start

Parar el servidor

Podemos usar el siguiente comando para detener el servidor ssh.

sudo /etc/init.d/ssh stop

Reiniciar el servidor

Podemos usar el siguiente comando para reiniciar el servidor ssh.

sudo /etc/init.d/ssh restart

Conexion de prueba

Una ves este instalado OpenSSH server, realizaremos la conexión de prueba desde otra maquina donde este instalado OpenSSH client, para este primera conexión lo realizaremos desde Windows, y accederemos con el usuario, contraseña y la IP de inicio de sesión de ubuntu.

Nota: es recomendable quitar la autenticación de SSH de usuario y contraseña y colocar por medio de llaves publicas y privadas, que se explican mas adelante.

El comando a usar para dicha conexion es la siguiente:

ssh domain\username@servername

Donde:

  • Domain: dominio donde esta el servidor en la red local
  • Username: nombre de usuario de la maquina, normalmente con el que iniciamos sesión
  • Servename: nombre del servidor o la dirección IP

Veamos el ejemplo con datos reales:

ssh oscar@192.168.10.15

El resultado es el siguiente:

The authenticity of host '192.168.10.15 (192.168.10.15)' can't be established.
ED25519 key fingerprint is SHA256:j7iJTM3sMDijd/uXdFnUv0qhsK+DDiFYHMd7g4EWhvM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.10.15' (ED25519) to the list of known hosts.


oscar@192.168.10.15's password:
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-76-generic x86_64)

Archivo de configuración

El archivo de configuración principal de OpenSSH en Ubuntu se llama "sshd_config". Este archivo se encuentra en el directorio "/etc/ssh/", y contiene diversas opciones de configuración que permiten ajustar el comportamiento del servidor OpenSSH en el sistema.

Con este comando podemos acceder al archivo de configuración de open-ssh.

sudo nano /etc/ssh/sshd_config

Procedemos a realizar la siguiente configuración Configurar OpenSSH server para producción | CodigoElectronica

PubkeyAuthentication yes
AuthorizedKeysFile	.ssh/authorized_keys
PasswordAuthentication no

Guardamos y procedemos a reiniciar el servicio de SSH.

Crear las llaves publicas y privadas

ssh-keygen

Procedemos a crear las llaves con el comando

ssh-keygen

Donde nos dará la siguiente respuesta

Generating public/private rsa key pair.
Enter file in which to save the key (/home/oscar/.ssh/id_rsa):
Created directory '/home/oscar/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oscar/.ssh/id_rsa
Your public key has been saved in /home/oscar/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:031mkl3/7wP+lq8WU77pDwJBUuDy8SYaWatCNzWIbow oscar@ubuntu-focal
The key's randomart image is:
+---[RSA 3072]----+
|        ooo      |
|     . o o       |
|    . o * .     .|
|   +   * * o o .o|
|  E = = S = + =o.|
|   o . = + . *o o|
|    . o     o oo=|
|     .       o.B.|
|             .==O|
+----[SHA256]-----+

Si listamos los archivos en el directorio .ssh, observamos las llaves:

oscar@ubuntu-focal:~$ ls .ssh
id_rsa  id_rsa.pub

authorized_keys

En el servidor sshd, debemos crear el archivo `authorized_keys` con el valor de la clave publica `id_rsa.pub` y darle permisos adecuados para que solo el usuario de la sesion pueda acceder a este archivo:

Creamos el archivo authorized_keys, esto lo puede hacer por comandos o con blog de notas.

mkdir authorized_keys

Importante: el authorized_keys no debe tener ninguna extensión.

Copiamos el contenido de id_rsa.pub a authorized_keys

Nota: Tambien podemos usar el siguiente comando

cp /home/<USUARIO>/.ssh/id_rsa.pub /home/<USUARIO>/.ssh/authorized_keys

Donde el <USUARIO> es con el que inicia sesión y se desea crear la llave.

Al listar el directorio quedara de la siguiente forma:

oscar@ubuntu-focal:~$ ls .ssh
authorized_keys  id_rsa  id_rsa.pub  known_hosts

Prueba con llave publica y privada

Volvemos a realizar las pruebas de conexión, usemos el mismo comando:

ssh oscar@192.168.10.15 -i /home/<USUARIO>/.ssh/id_rsa

Donde iniciará sesión con las keys y sin solicitar contraseña.

Palabras clave: openssh en ubuntu, instalar open ssh en ubuntu, configurar open ssh en ubuntu

Comentario

Debe aceptar antes de enviar