En Nominalia, el acceso por SSH con la cuenta de root y mediante el puerto 22 está deshabilitado por defecto por razones de seguridad, ya que el 80% de los ataques de fuerza bruta que se realizan atacan al puerto 22 con el usuario root. De esta forma, si tratas de acceder vía SSH con root a través de aplicaciones como PuTTY, MobaXterm o similares, se mostrará el mensaje de "Permiso denegado".
En tu Panel de Control de Nominalia cuentas con un panel específico para gestionar tu VPS donde se incluye una consola de comandos que te permitirá conectar remotamente a tu servidor con el usuario root y la contraseña que hayas especificado en el momento de instalar el servidor.
Accede a tu Panel de Control y clica sobre tu VPS situado en el menú de la derecha, como en el ejemplo de la captura a continuación:
Después, clica en Ventana emergente en la parte inferior derecha para acceder a la consola que se muestra más arriba:
En la nueva ventana, clica en "Paste in console". Comienza a escribir justo en el cuadro de texto todos los comandos que necesites: como el usuario root, contraseña, etc. y pulsando Enter para que se vayan aplicando:
Como hemos dicho anteriormente el acceso root por SSH está deshabilitado por defecto por razones de seguridad. Aun así a veces es necesario acceder con un terminal de SSH para realizar ciertas tareas o por comodidad para poder copiar / pegar comandos o partes de ficheros (logs, ..) que la consola virtual no permite.
En este caso lo mas seguro es acceder por la consola (ya sea la del panel de control o la consola root de Plesk) y crear un usuario local (usuario sin privilegios):
$> # useradd -d /home/usuario1 -s /bin/bash usuario1
Verificamos que el directorio se ha creado correctamente:
$> ls -ld /home/usuario1
drwx------ 2 usuario1 usuario1 4096 Jun 6 13:13 /home/usuario1
Asignamos una contraseña al nuevo usuario:
$> passwd usuario1
Changing password for user usuario1.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Ahora podemos acceder como usuario1 al sistema por SSH:
$> ssh usuario1@servidor
Una vez en el sistema podemos "convertirnos" en root usando el comando:
$> su -
Password: (introducir password de root)
El sistema "sudo" permite a un usuario no privilegiado como el que hemos creado anteriormente ejecutar determinados o cualquier comando sin necesitar la contraseña de root.
La forma de ejecutar comandos de este modo es:
$> sudo <comando>
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for usuario1:
Nota: Donde "<comando>" es el comando SSH que desees ejecutar.
Como se ve, el sistema nos solicita nuestra contraseña.
Para que este sistema funcione nuestro usuario debe estar configurado en el fichero sudoers. Algunos sistemas operativos como Debian y derivados (Ubuntu, Mint, …) configuran por defecto a los nuevos usuarios en el fichero ‘sudoers’ pero los basados en RedHat (CentOS, Almalinux, RockyLinux, …) no. En caso de usar uno de estos sistemas operativos debemos añadir los usuarios a la configuración. Como root ejecutamos el comando usermod para añadir al usuario al grupo ‘wheel’ :
$> chmod -aG wheel usuario1
Nota: En Debian y derivados en vez de 'wheel' debe usarse el grupo 'sudo'
Si habíamos accedido al sistema con ‘usuario1’ salimos y volvemos a entrar. Ahora podremos ejecutar cualquier comando de sistema con nuestro usuario previa introducción de la contraseña.
Todas las acciones realizadas con sudo quedan registradas en el sistema.
Esta configuración no está recomendada. Pese a ello y para el interés general describimos los pasos a seguir.
Para habilitar el acceso directo como root por SSH hay que editar la configuración de SSH.
Para ello accedemos al directorio:
$> cd /etc/ssh
Y editamos el fichero:
$> vi sshd_config
En este fichero podemos encontrar la directriz "PermitRootLogin" que puede aparecer de alguna de estad dos formas:
PermitRootLogin prohibit-password
PermitRootLogin no
IMPORTANTE: La directriz “PermitRootLogin prohibit-password” puede aparecer múltiples veces en el fichero de configuración o incluso en ficheros adicionales en el directorio: /etc/ssh/ssh_config.d .Hay que modificar todas las entradas.
Sea cual sea la que tengamos, deberemos modificarla por una de estas dos directrices:
PermitRootLogin yes
PermitRootLogin without-password
IMPORTANTE: Si quieres acceder solo por contraseña root por consola, usa "PermitRootLogin yes".
Si prefieres usar claves SSH para acceder al sistema, utiliza "PermitRootLogin without-password". Con esta opción deberás configurar nuestra clave pública en el fichero .ssh/authorized_keys del usuario con el que queremos acceder (por ejemplo, root). Este fichero debe tener permisos restrictivos como 400:
$> cat .ssh/authorized_keys
ssh-rsa AAAAB3Nfeiufh8f9ejfweofhiwehf9o2h2fo2opf alguien@servidor
Después de realizar los cambios en la configuración hay que reiniciar el servicio SSH con el siguiente comando:
$> service sshd restart
Se recomienda probar el acceso desde otra sesión una vez reiniciado el servicio SSH. En caso de problemas ya estaremos conectados al sistema con la primera sesión; de lo contrario si ha habido algún error de configuración podemos quedarnos fuera del sistema sin posibilidad de acceso.
Si utilizas un Panel de Plesk y quieres crear un usuario diferente a root para conectar por SSH, deberás hacerlo de la siguiente forma, teniendo en cuenta que a dicho usuario no le daremos permisos de root por las razones mencionadas.
1) En Plesk, clica en WebSite & Domains. Después, ve a la opción Hosting & DNS y clica en Hosting:
2) Añade un nuevo usuario desde Webspace settings > System user’s credentials, proporcionando una contraseña muy segura, y asegúrate de cambiar en SSH Access de "Forbidden" a "/bin/sh". Guarda los cambios en Save para que se apliquen.
3) Para acceder por SSH, utiliza el buscador de Plesk en la parte superior para localizar SSH Terminal, y con el usuario que has creado podrás gestionar tus contenidos por consola de comandos.
Si ejecutas su - tendrás acceso a root con todos los permisos:
¡Y ya tendrás acceso por SSH a tu VPS!
¿Te ha resultado útil nuestra guía?
Nos encantaría saber tu opinión. Déjanos un comentario, nos ayudarías muchísimo a mejorar.
😊 ¡Gracias! 😊