Cómo utilizar Linode StackScripts para implementar servidores Linux preconfigurados

¿Cómo va eso? soy Ana. Os traigo un nuevo post sobre el sistema operativo mas molón. Encantado linuxeros.

Siempre hay algunas cosas que hacer después de implementar un nuevo servidor Linux. Esto puede ser cambiar la configuración de SSH, crear usuarios no root o instalar y configurar Docker.

Todas estas son tareas repetitivas que pueden resultar especialmente frustrantes cuando prueba algo y necesita implementar servidores con la misma configuración.

Por ejemplo, utilizo una configuración de proxy inverso para probar diferentes tipos de servicios y aplicaciones web. Hacer todos estos pasos una y otra vez en todos los servidores nuevos puede ser una molestia.

Por suerte, Linode, nuestro proveedor de infraestructura tiene una solución conveniente en forma de StackScripts.

En este tutorial te diré lo siguiente:

¿Qué son los StackScripts de Linode? ¿Cómo utilizo estos StackScripts mientras tengo servidores Linode? Consejos para crear su propio StackScript Implementar una configuración de proxy inverso usando StackScripts creado por el equipo del Manual de Linux (estos somos nosotros)

Este tutorial solo funciona con un proveedor de servidor en la nube Linode. Si no lo usa, puede registrarse con este enlace para obtener $ 60 créditos gratis durante dos meses.

 

1GB de RAM por $ 5 / mes – Linode

 

¿Qué es StackScript?

Este es un script que se ejecuta después de una implementación exitosa del servidor. Este script no tiene que ser un script de shell, se puede escribir en Python o Perl mientras el intérprete está allí, ¡todo lo que necesita es asegurarse de que está usando el shebang correcto!

C StackScript, puede automatizar algunas de las tareas más monótonas de las necesidades posteriores a la implementación. Algunos de ellos se enumeran a continuación:

Crea un usuario sin root. Cambie la configuración del servidor SSH (por ejemplo, Desactive la autenticación de contraseña). Instale algunos de los paquetes que desee, como Python, Docker, Ruby y más. Actualice y reinicie el servidor.

Suena como la función que ofrece Dockerfile, ¿verdad? Aquí hay un concepto similar.

Tipos de StackScripts

Bueno, no son exactamente «tipos». Depende de cómo interpretes la idea de un tipo. Si distingue dos scripts por el idioma (es decir, el intérprete) en el que está escrito, hay tantos tipos de StackScripts como intérpretes en una imagen de distribución en particular, como Python, Perl, Bash, Csh, Fish, Ksh y así sucesivamente.

Aquí distingo StackScripts por su disponibilidad. Según la disponibilidad, existen dos tipos de StackScripts:

Cuenta StackScripts comunidad StackScripts

Academia StackScripts

Estos son sus scripts personales que ha creado usted mismo y que aún no ha hecho públicos.

Si inicia sesión en su cuenta de Linode, la encontrará en la sección «Pila de cuentas» en «StackScripts» en la barra lateral izquierda.

Comunidad StackScripts

Scripts que usted y otros han puesto a disposición del público a través del portal Linode.

Puede encontrarlo en el mismo lugar junto a Stack Account Scripts.

Práctica 1: cree un StackScript simple e implemente un nuevo servidor con él

Para seguir adelante, primero necesitará algunas cosas:

A Cuenta Linode. Si forma parte de una organización y uno de los administradores ha creado una cuenta para usted, asegúrese de que su cuenta tenga los permisos necesarios de StackScripts. Algún conocimiento de scripts de línea de comandos o shells. Siempre puedes seguir nuestra Serie Bash Beginner.

Crea un StackScript simple

En este ejemplo, creará un script bash que creará un no usuario y copiará los datos de la clave SSH de ese usuario. No hace mucho, pero es suficiente para comprender los conceptos básicos.

El nombre de usuario y las contraseñas se cifrarán firmemente en este ejemplo y no lo recomiendo en todos los entornos. Creé un stackscript para lograr una funcionalidad similar, que compartiré en un momento.

Vaya a la ventana de StackScript y haga clic en el botón «Crear StackScript».

Ahora verá varios cuadros de texto. Esto es lo que debe hacer:

Primero, ponle una etiqueta a tu guión. Asegúrese de que sea exclusivo de su lista de StackScript. Luego, describe el propósito del guión. Esto no es obligatorio. Las «imágenes de destino» son básicamente para qué distribuciones crea este StackScript. Los comandos o el intérprete que utilizará pueden no estar presentes en una distribución predeterminada, pero pueden estar presentes en otra. Asegúrate de seleccionar la imagen correcta.[s] aquí. Por ahora, elija Ubuntu 20.04

Finalmente, la parte del guión. Copia y pega el siguiente código aquí

#!/bin/sh

useradd 
    -mG sudo 
    -s /bin/bash 
    -p $(awk -F: '$1 ~ /^root$/ print $2' /etc/shadow) 
    noroot

if test -d /root/.ssh; then
    cp -r /root/.ssh /home/noroot && 
        chown -R noroot:noroot /home/noroot/.ssh && 
        chmod 700 /home/noroot/.ssh
fi

rm -f /root/StackScript

El guión hace lo siguiente

Crea un no usuario llamado noroot, con la misma contraseña que el usuario principal. Si agregó claves SSH a su Linode, el script se copiará .ssh directorio a la casa del usuario sin root y configure la propiedad y los permisos necesarios. StackScripts se almacenan en /root bajo el nombre StackScript, la última línea elimina el script del disco.

Cuando haya terminado, haga clic en «Guardar».

Implementar el servidor usando StackScript

Ahora debería ver StackScript en su lista de cuentas de StackScript. Si no es así, vuelva a cargar la página.

Aquí, en el extremo derecho, haga clic en «Implementar un nuevo Linode».

Otro método es seleccionar StackScripts para que sea el método para implementar la página de creación de Linode, como se muestra a continuación.

Luego proceda a crear Linode como está acostumbrado. Una vez que su estado de Linode «comience» en su tablero, espere unos segundos y use SSH para iniciar sesión en el servidor, pero no como root, como noroot usuario.

ssh noroot@ip

Debe poder iniciar sesión como este nuevo usuario.

Práctica 2: Implemente un servidor usando StackScripts creado por el Manual de Linux

En el manual de Linux hacemos muchas pruebas y configuraciones. Puede ver esto en nuestros tutoriales de implementación. Para ayudar a nuestros lectores como usted, recientemente comenzamos a crear StackScripts.

Con nuestros StackScripts puedes tener servidores con configuraciones bastante complejas. Tomemos, por ejemplo, el proxy Nginx inverso configurado con Docker. Si desea utilizar esta excelente configuración, simplemente use StackScript y ahorre mucho tiempo.

Puede encontrar LHB StackScripts en nuestro repositorio de GitHub.

Aquí lo guiaré a través de la implementación del proxy inverso usando reverse-proxy-jwilder StackScript.

Actualmente, estos scripts solo se están probando en diferentes versiones de Ubuntu.

Primero, vaya a la pestaña StackScript de la comunidad y busque «reverse-proxy-jwilder». Debería ver un script llamado «another_debdut / reverse-proxy-jwilder».

Como antes, haga clic en el botón «Implementar nuevo Linode». Ahora debería ver algunos campos de entrada más de los que está acostumbrado.

Déjame explicarte las opciones:

Crea un usuario sin root

Usando root el consumidor está siempre en el entorno de producción no es la mejor idea. Pero Linode no tiene la opción de crear un usuario no root mientras tiene un servidor. Este guión se encarga de eso.

La creación de un usuario no es obligatoria porque hay ocasiones en las que es necesario realizar una pequeña prueba y es más fácil de usar. root usuario en este momento.

Contraseña de usuario sin root

Nuevamente, esto no es obligatorio. Si deja este espacio en blanco, la contraseña de root se reutilizará para el usuario no root.

Actualiza el sistema

Es posible que a veces no desee actualizar el sistema, ya que puede llevar algún tiempo.

Puerto SSH

Primero, quiere que el número de puerto inicie el demonio SSH, el predeterminado es el puerto 22. Recomiendo configurarlo en algo diferente y recordarlo como este cambio no se reflejará en su panel.

Basado en otra información, el script configura otras partes de SSH. Por ejemplo, si agrega un usuario, root no se accederá a través de SSH si se proporciona al menos una clave pública, el inicio de sesión con contraseña está deshabilitado.

Bloquear la cuenta principal

También puedes bloquear root usuario directamente desde la pantalla de implementación. Este es uno de los trucos estándar para solidificar SSH.

Grupo Docker

Dado que se instalará Docker, puede agregar su usuario no root a docker grupo automáticamente desde aquí.

Eso es todo. Una vez que haya terminado, acuerde cómo suele implementar un servidor.

Tendrá que esperar mucho tiempo para que se complete todo el proceso. Mientras tanto, después de iniciar sesión, puede verificar los registros usando el comando tail:

tail -f /var/log/stackscript.log

Si ve un error con estos StackScripts o desea ver cómo se hace un script personalizado, abre la edición del repositorio de Linux GitHub. Las contribuciones siempre son bienvenidas.

Para obtener más información sobre StackScripts, puede leer su documentación oficial. aquí.

Este Blog lo hacemos para colaborar y servir de ayuda a la comunidad Linux. Esperamos que os guste.

Leave a Reply