Introducción
Cuando creas por primera vez un nuevo servidor Ubuntu 20.04, debes realizar algunos pasos de configuración importantes como parte de la configuración inicial. Estos pasos aumentarán la seguridad y usabilidad de tu servidor, y te proporcionarán una base sólida para acciones posteriores.
Al crear un DigitalOcean Droplet, puedes elegir una versión de Ubuntu que se agregará automáticamente a tu nuevo Droplet. Simplifica tu configuración con nuestras soluciones listas para usar.
Paso 1 — Iniciar sesión como root
Para iniciar sesión en tu servidor, necesitarás conocer la dirección IP pública de tu servidor. También necesitarás la contraseña o —si instalaste una clave SSH para la autenticación— la clave privada de la cuenta de usuario root. Si aún no has iniciado sesión en tu servidor, es posible que desees seguir nuestra guía sobre cómo conectarse a Droplets con SSH, que cubre este proceso en detalle.
Si aún no estás conectado a tu servidor, inicia sesión ahora como el usuario root usando el siguiente comando (sustituye la parte resaltada del comando con la dirección IP pública de tu servidor):
Acepta la advertencia sobre la autenticidad del host si aparece. Si estás utilizando autenticación por contraseña, proporciona tu contraseña de root para iniciar sesión. Si estás utilizando una clave SSH protegida con contraseña, es posible que se te solicite ingresar la contraseña la primera vez que uses la clave en cada sesión. Si es la primera vez que inicias sesión en el servidor con una contraseña, es posible que también se te pida cambiar la contraseña de root.
Acerca de root
El usuario root es el usuario administrativo en un entorno de Linux que tiene privilegios muy amplios. Debido a los privilegios elevados de la cuenta de root, se desaconseja su uso regular. Esto se debe a que la cuenta de root puede realizar cambios muy destructivos, incluso por accidente.
El siguiente paso es configurar una nueva cuenta de usuario con privilegios reducidos para el uso diario. Más adelante, te mostraremos cómo obtener temporalmente privilegios aumentados para los momentos en que los necesites.
Paso 2: Crear un Nuevo Usuario
Una vez que estés conectado como root, podrás agregar la nueva cuenta de usuario. En el futuro, iniciaremos sesión con esta nueva cuenta en lugar de root.
Este ejemplo crea un nuevo usuario llamado sammy, pero debes reemplazarlo con un nombre de usuario que te guste:
Se te harán algunas preguntas, comenzando con la contraseña de la cuenta.
Ingresa una contraseña segura y, opcionalmente, completa cualquier información adicional si así lo deseas. Esto no es obligatorio y puedes simplemente presionar ENTER
en cualquier campo que desees omitir.
Paso 3 — Concediendo Privilegios Administrativos
Ahora tenemos una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, a veces podemos necesitar realizar tareas administrativas.
Para evitar tener que cerrar la sesión de nuestro usuario normal e iniciar sesión nuevamente como la cuenta de root, podemos configurar lo que se conoce como privilegios de superusuario o root para nuestra cuenta normal. Esto permitirá que nuestro usuario normal ejecute comandos con privilegios administrativos colocando la palabra sudo
antes del comando.
Para agregar estos privilegios a nuestro nuevo usuario, necesitamos agregar el usuario al grupo sudo. Por defecto, en Ubuntu 20.04, los usuarios que son miembros del grupo sudo tienen permitido usar el comando sudo
.
Como root, ejecuta este comando para añadir tu nuevo usuario al grupo sudo (sustituye el nombre de usuario resaltado por tu nuevo usuario):
Ahora, cuando inicies sesión como tu usuario regular, puedes escribir sudo
antes de los comandos para ejecutarlos con privilegios de superusuario.
Paso 4 — Configuración de un Firewall Básico
Los servidores Ubuntu 20.04 pueden utilizar el firewall UFW para asegurarse de que solo se permitan conexiones a ciertos servicios. Podemos configurar un firewall básico usando esta aplicación.
Nota: Si tus servidores están corriendo en DigitalOcean, puedes optar por utilizar Firewalls en la Nube de DigitalOcean en lugar del firewall UFW. Recomendamos usar solo un firewall a la vez para evitar reglas conflictivas que puedan ser difíciles de depurar.
Las aplicaciones pueden registrar sus perfiles con UFW al instalarse. Estos perfiles permiten a UFW administrar estas aplicaciones por nombre. OpenSSH, el servicio que nos permite conectarnos a nuestro servidor ahora, tiene un perfil registrado con UFW.
Puedes ver esto escribiendo:
OutputAvailable applications:
OpenSSH
Necesitamos asegurarnos de que el firewall permita conexiones SSH para poder volver a iniciar sesión la próxima vez. Podemos permitir estas conexiones escribiendo:
Después, podemos habilitar el firewall escribiendo:
Escribe y
y presiona ENTER
para proceder. Puedes ver que las conexiones SSH siguen permitidas escribiendo:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Dado que el firewall actualmente bloquea todas las conexiones excepto SSH, si instalas y configuras servicios adicionales, deberás ajustar la configuración del firewall para permitir el tráfico. Puedes aprender algunas operaciones comunes de UFW en nuestra guía UFW Essentials.
Paso 5 — Habilitar Acceso Externo para Tu Usuario Regular
Ahora que tenemos un usuario regular para el uso diario, necesitamos asegurarnos de poder acceder por SSH a la cuenta directamente.
Nota: Hasta verificar que puedes iniciar sesión y usar sudo
con tu nuevo usuario, recomendamos permanecer conectado como root. De esta manera, si tienes problemas, puedes solucionarlos y hacer los cambios necesarios como root. Si estás utilizando un Droplet de DigitalOcean y experimentas problemas con tu conexión SSH de root, puedes recuperar el acceso a los Droplets utilizando la Consola de Recuperación.
El proceso para configurar el acceso SSH para tu nuevo usuario depende de si la cuenta root de tu servidor usa una contraseña o claves SSH para autenticación.
Si la cuenta raíz utiliza autenticación por contraseña
Si has iniciado sesión en tu cuenta root usando una contraseña, entonces la autenticación por contraseña está habilitada para SSH. Puedes conectarte por SSH a tu cuenta de usuario nueva abriendo una nueva sesión de terminal y utilizando SSH con tu nuevo nombre de usuario:
Después de ingresar la contraseña de tu usuario regular, iniciarás sesión. Recuerda que si necesitas ejecutar un comando con privilegios administrativos, escribe sudo
antes de él de esta manera:
Se te pedirá la contraseña de tu usuario regular al usar sudo
por primera vez en cada sesión (y periódicamente después).
Para mejorar la seguridad de tu servidor, recomendamos encarecidamente configurar claves SSH en lugar de utilizar la autenticación por contraseña. Sigue nuestra guía sobre cómo configurar claves SSH en Ubuntu 20.04 para aprender cómo configurar la autenticación basada en claves.
Si la cuenta root utiliza autenticación por clave SSH
Si iniciaste sesión en tu cuenta de root usando claves SSH, entonces la autenticación por contraseña está deshabilitada para SSH. Necesitarás agregar una copia de tu clave pública local al archivo ~/.ssh/authorized_keys
del nuevo usuario para iniciar sesión correctamente.
Dado que tu clave pública ya está en el archivo ~/.ssh/authorized_keys
de la cuenta de root en el servidor, podemos copiar ese archivo y la estructura del directorio a nuestra nueva cuenta de usuario en nuestra sesión existente.
La forma más sencilla de copiar los archivos con los permisos y propietarios correctos es con el comando rsync
. Esto copiará el directorio .ssh
del usuario root, preservará los permisos y modificará los propietarios de los archivos, todo en un solo comando. Asegúrate de cambiar las partes resaltadas del comando a continuación para que coincidan con el nombre de tu usuario regular:
Nota: El comando rsync
trata de manera diferente las fuentes y destinos que terminan con una barra diagonal al final en comparación con aquellos sin una barra diagonal al final. Al usar rsync
a continuación, asegúrate de que el directorio de origen (~/.ssh
) no incluya una barra diagonal al final (verifica que no estés usando ~/.ssh/
).
Si accidentalmente agregas una barra diagonal al final al comando, rsync
copiará el contenido del directorio ~/.ssh
de la cuenta de root al directorio principal del usuario sudo
en lugar de copiar toda la estructura del directorio ~/.ssh
. Los archivos estarán en la ubicación incorrecta y SSH no podrá encontrarlos y usarlos.
Ahora, abre una nueva sesión de terminal en tu máquina local y usa SSH con tu nuevo nombre de usuario:
Deberías estar conectado a la nueva cuenta de usuario sin usar una contraseña. Recuerda, si necesitas ejecutar un comando con privilegios de administrador, escribe sudo
antes de él de esta manera:
Se te pedirá la contraseña de tu usuario regular al usar sudo
por primera vez en cada sesión (y periódicamente después).
¿A dónde ir desde aquí?
En este punto, tienes una base sólida para tu servidor. Ahora puedes instalar cualquier software que necesites en tu servidor.
Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04