Configurando SSH, comenzando con VPS

En este artículo sobre SSH comenzaré por lo básico, logarnos a través de SHH, configurar el servicio SSH para que sea más seguro,(sin incluir las claves públicas y privadas, eso lo cubriremos en el siguiente artículo) y a crear un usuario con grupos para gestión del servidor y sea más restrictivo para los amigos de lo ajeno.

Recientemente me he embarcado en la aventura de gestionar mi propio servidor VPS para poder hacer mis experimentos, progresar en mi carrera, poner en práctica mis conocimientos y de paso intentar crear unos cuantos proyectos por mi cuenta para ver si me sacan de pobre.

En esta serie de artículos que voy a crear, voy a indicar cómo voy gestionando el servidor, instalando servicios y configurándolos, a la vez que intentando solucionar posibles problemas que se puedan ir aconteciendo.

Comenzamos, una vez tenemos el VPS activo y nos faciliten los credenciales ROOT y Password, lo primero que haremos es conectarnos via terminal. Desde nuestro ordenador descargaremos un cliente ssh, como puede ser Putty (que no os alarme el nombre, es una aplicación decente).

Ahora para conectarse al servidor,  nos aparecerá una pantalla como la siguiente, en la que en el campo IP, colocaremos la IP que nos venía en el correo/ área de clientes de donde hemos contratado nuestro servidor, el puerto (por defecto 22)

Putty Config

Una vez tenemos puesto los datos, nos aparecerá el símbolo del sistema, ahí introduciremos, tal cual nos pide un usuario (generalmente es root) y una contraseña previamente proporcionada.

Después ejecutaremos los comandos para actualizar el sistema:

sudo apt update
sudo apt upgrade

Este paso es básico siempre que queramos incluir nuevos paquetes y quizá no sea mala idea  incluirlo más adelante en una tarea CRON para tenerlo siempre actualizado automáticamente. Otro día dedicaremos un artículo a las tablas CRON y las automatizaciones.

Configurando SSH

Lo siguiente que haremos será hacer más segura la conexión SSH es cambiar el puerto de conexión por defecto por uno personalizado. Para ello editaremos el archivo de configuración que se encuentra en la siguiente ruta:

sudo nano /etc/ssh/sshd_config

En el editor buscamos el parámetro “port”. Si está comentado lo descomentamos, si no está comentado, cambiamos directamente el puerto por un número que no esté en el sistema, podemos elegir uno al azar. Si tienes dudas de los puertos habituales, visita el artículo que hay sobre puertos AQUI. Ahora salimos y guardamos (control + O, control +X)

IMPORTANTE: Comprobar que el puerto que elijamos no vayamos a usarlo o no se use en el sistema.

Ahora reiniciaremos el servicio SSH, cerramos la consola y volvemos a abrirla. Acordaos de cambiar al nuevo puerto que nos hemos inventado antes para poder conectarnos al servidor.

Una vez hayamos entrado, cambiaremos la contraseña de root y crearemos un usuario para gestionar el servidor:

passwd root

Ahora nos pedirá una contraseña y que la repitamos.

Recuerda que no se muestran carácteres de la contraseña.

Una vez se haya validado nos dará el siguiente mensaje:

passwd: password updated successfully

Creando un nuevo usuario administrador

Ahora que hemos cambiado la contraseña de usuario, es recomendable crear un usuario y restringir el acceso al usuario ‘root’ que viene por defecto para que no pueda acceder vía SSH.

Para crear el usuario debemos usar el comando ‘adduser’, con la siguiente sintaxis:

adduser <nombre_usuario>

Nos pedirá una serie de datos y los introducimos según nos vaya pidiendo. Los datos que aparecerán en pantalla será como el siguiente:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for nombre_usuario
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]

Una vez tenemos creado el usuario, debemos asignarle los grupos de usuario para poder hacer ‘sudo’ y así poder usar los comandos root sin usar el usuario root

Para dar  permisos root asignar el grupo ‘sudo’ a el usuario que acabamos de crear, para ello hacemos el siguiente comando:

usermod -aG sudo nombre_usuario

Ahora para probarlo es tan sencillo como cambiar de usuario (con el comando su) y ejecutar cualquier comando que necesite privilegios de root. Como por ejemplo, ver el contenido de la carpeta root, o intentar actualizar el sistema.

su nombre_usuario
sudo ls -la /root
sudo apt upgrade

Si ejecutamos lo anterior y lo hemos hecho bien, debería pedirnos la contraseña del usuario. Si por el contrario no se ha agregado correctamente, aparecerá el siguiente mensaje:

ls: cannot open directory ‘/root’: Permission denied

Ahora es turno de restringir el usuario root de la lista de usuarios accesibles vía SSH. Solo tenemos que editar el mismo archivo que antes,

sudo nano /etc/ssh/sshd_config

En el archivo debemos buscar el siguiente atributo y ponerlo en ‘no’

PermitRootLogin no

Una vez tengamos esto, guardamos el archivo y reiniciamos el servidor.

Si todo va bien, deberíamos poder logarnos  con el  usuario que hemos creado y  gestionar usando el comando ‘sudo’ el servidor, con esto nos aseguraremos de que sea más complicado entrar en nuestro nuevo servidor.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.