Introducción
Cuando creas por primera vez un nuevo servidor Ubuntu 22.04, debes realizar algunos pasos de configuración importantes como parte de la configuración inicial. Estos pasos aumentarán la seguridad y la usabilidad de tu servidor y te proporcionarán una base sólida para acciones posteriores.
Implementa tus aplicaciones desde GitHub utilizando la Plataforma de Aplicaciones de DigitalOcean. Deja que DigitalOcean se encargue de escalar tu aplicación.
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 la clave privada de la cuenta de usuario root si instalaste una clave SSH para la autenticación. Si aún no has iniciado sesión en tu servidor, es posible que desees seguir nuestra guía sobre cómo Conectar a Gotas con SSH, que cubre este proceso en detalle.
Si actualmente no estás conectado a tu servidor, inicia sesión como usuario root utilizando el siguiente comando. Sustituye la parte resaltada tu_dirección_ip_del_servidor
del comando con la dirección IP pública de tu servidor:
Acepte la advertencia sobre la autenticidad del host si aparece. Si su servidor utiliza autenticación de contraseña, proporcione su contraseña de root para iniciar sesión. Si utiliza una clave SSH protegida por una frase de contraseña, es posible que necesite ingresar la frase de contraseña la primera vez que use la clave en cada sesión. Si es la primera vez que inicia sesión en el servidor con una contraseña, es posible que también necesite cambiar la contraseña de root. Siga las instrucciones para cambiar la contraseña si recibe una solicitud.
Sobre root
El usuario root es el usuario administrativo en un entorno Linux con privilegios elevados. Debido a los privilegios elevados de la cuenta root, se le desaconseja utilizarla regularmente. La cuenta 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 tarde, le mostraremos cómo obtener temporalmente privilegios aumentados para los momentos en que los necesite.
Paso 2 — Crear un Nuevo Usuario
Una vez que inicie sesión como root, podrá 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 prefieras:
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. Esta información no es obligatoria y puedes presionar ENTER
en cualquier campo que desees omitir.
Paso 3 — Concesión de Privilegios Administrativos
Ahora tienes una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, a veces necesitarás realizar tareas administrativas como el usuario root.
Para evitar cerrar sesión en tu usuario regular e iniciar sesión nuevamente como el usuario root, puedes configurar lo que se conoce como privilegios de superusuario o root para la cuenta regular de tu usuario. Estos privilegios permitirán que tu usuario normal ejecute comandos con privilegios administrativos colocando la palabra sudo
antes del comando.
Para agregar estos privilegios a tu nuevo usuario, deberás añadir al usuario al grupo de sistema sudo. Por defecto en Ubuntu 22.04, los usuarios que son miembros del grupo sudo tienen permitido usar el comando sudo
.
Como root, ejecuta este comando para agregar tu nuevo usuario al grupo sudo (sustituye el nombre de usuario sammy
con tu nuevo usuario destacado):
Ahora puedes escribir sudo
antes de los comandos para ejecutarlos con privilegios de superusuario cuando estés conectado como tu usuario regular.
Paso 4 — Configuración de un Cortafuegos
Los servidores Ubuntu 22.04 pueden usar el cortafuegos UFW para garantizar que solo se permitan conexiones a ciertos servicios. Puedes configurar un cortafuegos básico utilizando esta aplicación.
Nota: Si tus servidores se ejecutan en DigitalOcean, opcionalmente puedes usar los Cortafuegos en la Nube de DigitalOcean en lugar del cortafuegos UFW. Recomendamos utilizar solo un cortafuegos a la vez para evitar reglas conflictivas que pueden ser difíciles de depurar.
Las aplicaciones pueden registrar sus perfiles con UFW al momento de la instalación. Estos perfiles permiten a UFW administrar estas aplicaciones por nombre. OpenSSH, el servicio que te permite conectarte a tu servidor, tiene un perfil registrado con UFW.
Puedes examinar la lista de perfiles de UFW instalados escribiendo:
OutputAvailable applications:
OpenSSH
Necesitarás asegurarte de que el cortafuegos permita conexiones SSH para que puedas iniciar sesión en tu servidor la próxima vez. Permite estas conexiones escribiendo:
Ahora habilita el cortafuegos escribiendo:
Escribe y
y presiona ENTER
para proceder. Puedes ver que las conexiones SSH todavía están permitidas escribiendo:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
El firewall actualmente está bloqueando todas las conexiones excepto SSH. Si instalas y configuras servicios adicionales, deberás ajustar la configuración del firewall para permitir el nuevo tráfico en tu servidor. Puedes aprender algunas operaciones comunes de UFW en nuestra guía UFW Essentials.
Paso 5 — Habilitar acceso externo para tu usuario regular
Ahora que tienes un usuario regular para uso diario, necesitarás asegurarte de que puedas acceder por SSH a la cuenta directamente.
Nota: Hasta que verifiques que puedes iniciar sesión y usar sudo
con tu nuevo usuario, recomendamos mantener la sesión iniciada como root. Si tienes problemas de conexión, puedes solucionarlos y realizar los cambios necesarios como root. Si usas un Droplet de DigitalOcean y experimentas problemas con tu conexión SSH como root, puedes recuperar el acceso a los Droplets usando la Consola de Recuperación.
Configurar el acceso SSH para tu nuevo usuario depende de si la cuenta root de tu servidor utiliza una contraseña o llaves SSH para autenticación.
Si la cuenta de root utiliza autenticación por contraseña
Si iniciaste sesión en tu cuenta de root usando una contraseña, entonces la autenticación por contraseña está habilitada para SSH. Puedes acceder 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 de administrador, escribe sudo
antes de él así:
Recibirás una solicitud de 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 autenticación por contraseña. Sigue nuestra guía sobre cómo configurar claves SSH en Ubuntu 22.04 para aprender a configurar la autenticación basada en claves.
Si la cuenta de root utiliza autenticación por clave SSH
Si iniciaste sesión en tu cuenta root usando claves SSH, entonces la autenticación por contraseña está deshabilitada para SSH. Para iniciar sesión como tu usuario regular con una clave SSH, debes agregar una copia de tu clave pública local al archivo ~/.ssh/authorized_keys
de tu nuevo usuario.
Dado que tu clave pública ya está en el archivo ~/.ssh/authorized_keys
de la cuenta root en el servidor, puedes copiar ese archivo y la estructura de directorios a tu nueva cuenta de usuario usando tu sesión actual.
La forma más sencilla de copiar los archivos con los permisos y la propiedad correctos es con el comando rsync
. Este comando 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 que no la tienen. 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 agregas accidentalmente una barra diagonal al final al comando, rsync
copiará los contenidos del directorio ~/.ssh
de la cuenta 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 ni usarlos.
Ahora, abre una nueva sesión de terminal en tu máquina local y utiliza SSH con tu nuevo nombre de usuario:
Deberías estar conectado a tu servidor con la nueva cuenta de usuario sin usar una contraseña. Recuerda, si necesitas ejecutar un comando con privilegios de administrador, escribe sudo
antes del comando 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).
¿Qué hacer a partir de aquí?
En este punto, tienes una base sólida para tu servidor. Ahora puedes instalar cualquier software que necesites en tu servidor.
Si deseas familiarizarte más con los comandos de Linux, puedes consultar nuestra Guía de la línea de comandos de Linux.
Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04