Chef Server · 10 min read · Nov 09, 2025
Cómo instalar Chef Infra Server en Debian 12

Chef es un potente software de automatización en Debian Linux diseñado para gestionar y configurar entornos de servidor a gran escala. Facilita el despliegue, configuración y gestión de aplicaciones e infraestructura utilizando código, promoviendo los principios de infraestructura como código (IaC). Chef utiliza un lenguaje específico de dominio (DSL) escrito en Ruby para definir “recetas” y “libros de cocina” que especifican cómo deben configurarse los servidores. Esto permite a los administradores de sistemas y equipos de DevOps automatizar tareas repetitivas, garantizar la consistencia en los entornos y escalar fácilmente la infraestructura. Chef admite una amplia gama de recursos e integraciones, lo que lo convierte en una herramienta versátil para gestionar entornos complejos en Debian, Ubuntu Linux y otras plataformas.
En este tutorial, te mostraremos cómo instalar Chef Server y Chef Workstation en servidores Debian 12 paso a paso.
Requisitos previos
Para completar esta guía, asegúrate de tener lo siguiente:
- 3 servidores Debian 12.
- Un usuario no root con privilegios de administrador.
Configuración de FQDN
En este primer paso, configurarás el FQDN (Nombre de Dominio Completo) para el servidor Chef, la estación de trabajo Chef y el cliente.
Ejecuta el siguiente comando hostnamectl para configurar el fqdn para cada servidor.
sudo hostnamectl set-hostname chef.howtoforge.local
sudo hostnamectl set-hostname workstation.howtoforge.local
sudo hostnamectl set-hostname client.howtoforge.localAbre el archivo /etc/hosts en cada servidor utilizando el siguiente comando del editor nano.
sudo nano /etc/hostsInserta la siguiente configuración y asegúrate de cambiar la dirección IP detallada, el nombre del host y el fqdn con tus configuraciones.
192.168.5.15 chef.howtoforge.local chef
192.168.5.20 workstation.howtoforge.local workstation
192.168.5.21 client.howtoforge.local clientGuarda y cierra el archivo cuando termines.
Ahora ejecuta el siguiente comando para asegurarte de que cada fqdn apunte a la dirección IP correcta del servidor.
sudo hostname -f
ping -c3 chef.howtoforge.local
Sincronizando el tiempo entre servidores
Después de configurar el FQDN, te asegurarás de que cada servidor tenga el tiempo sincronizado. En este caso, configurarás el servidor NTP en el Servidor Chef y configurarás la estación de trabajo Chef y el cliente para conectarse a él.
Configurando Chrony en el Servidor Chef
En el servidor Chef, ejecuta el siguiente comando para actualizar el índice del paquete del repositorio e instalar el paquete Chrony.
sudo apt update
sudo apt install chrony -y
Una vez que hayas instalado Chrony, abre el archivo /etc/chrony/chrony.conf utilizando el siguiente comando del editor nano.
sudo nano /etc/chrony/chrony.confInserta la siguiente configuración para establecer el servidor NTP predeterminado. Asegúrate de elegir la ubicación más cercana a tu servidor, consulta ntp.org para más detalles.
Además, configurarás Chrony dentro del servidor Chef como un servidor NTP tanto para la estación de trabajo Chef como para los clientes.
pool 0.nl.pool.ntp.org iburst
pool 1.nl.pool.ntp.org iburst
pool 2.nl.pool.ntp.org iburst
pool 3.nl.pool.ntp.org iburst
allow 192.168.5.0/24Guarda y cierra el archivo cuando termines.
A continuación, ejecuta el siguiente comando para establecer la zona horaria predeterminada y habilitar NTP.
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp trueLuego, reinicia el servicio chrony para aplicar los cambios.
sudo systemctl restart chronyPor último, verifica la fuente NTP utilizando el siguiente comando.
chronyc sourcesDeberías recibir una salida como la siguiente:

En la Estación de Trabajo Chef y el Cliente
Ahora pasa a la estación de trabajo Chef y la máquina cliente. Luego, ejecuta el siguiente comando para actualizar el repositorio e instalar Chrony en ambos servidores.
sudo apt update
sudo apt install chrony -yDespués de eso, modifica la configuración de Chrony /etc/chrony/chrony.conf utilizando el siguiente comando del editor nano.
sudo nano /etc/chrony/chrony.confComenta la fuente NTP predeterminada para deshabilitarla, luego ingresa la dirección IP del servidor Chef como servidor NTP como sigue.
# default chrony
server 192.168.5.15 iburstGuarda y cierra el archivo cuando termines.
A continuación, ejecuta el siguiente comando para establecer la zona horaria predeterminada y habilitar NTP.
sudo timedatectl set-timezone Europe/Amsterdam
sudo timedatectl set-ntp trueLuego, reinicia el servicio Chrony para aplicar tus cambios.
sudo systemctl restart chronyPor último, verifica las fuentes NTP en ambas, la estación de trabajo Chef y el cliente utilizando el siguiente comando.
chronyc sourcesDeberías ver que la fuente NTP predeterminada tanto para la estación de trabajo Chef como para el cliente es el servidor Chef, que tiene una dirección IP de 192.168.5.15.

Instalando y configurando Chef Server
Ahora que has configurado el FQDN y sincronizado los tiempos entre servidores, estás listo para instalar Chef. Primero, instalarás y configurarás Chef Server.
Chef Server es un ecosistema central de Chef que conecta cada parte, por lo que debes configurarlo primero. En este caso, utilizaremos un Servidor Chef con 8 GB de RAM.
Instalando Chef Server a través de DEB
Pasa al servidor Chef y ejecuta el comando a continuación para descargar el paquete del servidor Chef. En este ejemplo, utilizarás Chef 15.
VERSION="15.7.0"
wget https://packages.chef.io/files/stable/chef-server/${VERSION}/ubuntu/22.04/chef-server-core_${VERSION}-1_amd64.debAhora instala el servidor Chef a través del archivo .deb utilizando el comando a continuación. La instalación tomará algunos minutos.
sudo apt install ./chef-server-core_*.debUna vez que la instalación haya finalizado, deberías recibir la confirmación ‘ Gracias por instalar Chef Infra Server ‘.

A continuación, ejecuta el comando chef-server-ctl a continuación para reconfigurar tu instalación de Chef Server.
sudo chef-server-ctl reconfigureCuando se te pregunte, ingresa Y para confirmar la licencia de Chef.

La inicialización del servidor Chef comenzará. Una vez finalizada, deberías recibir una confirmación como ‘ Chef Infra Server reconfigurado ‘.

Configurando Usuario y Organización
Ahora que has reconfigurado el Servidor Chef, configurarás el usuario y la organización en tu instalación de Chef Server.
Crea un nuevo directorio ~/.chef utilizando el siguiente comando.
mkdir -p ~/.chefLuego, crea un nuevo usuario de Chef utilizando el siguiente comando. En este ejemplo, crearemos un nuevo usuario alice con la contraseña password y el certificado TLS se almacenará en ~/.chef/alice.pem.
sudo chef-server-ctl user-create alice Alice Wonderland [email protected] 'password' --filename ~/.chef/alice.pemAhora crea una nueva organización utilizando el comando a continuación. Asegúrate de cambiar los detalles del nombre de la organización, el usuario asociado y la ruta del certificado TLS.
sudo chef-server-ctl org-create hworgz 'HW Corp, Inc.' --association_user alice --filename ~/.chef/hworgz-validator.pemUna vez que todo esté terminado, verifica la lista de usuarios y organizaciones en el servidor Chef utilizando el comando a continuación.
sudo chef-server-ctl user-list
sudo chef-server-ctl org-listSi todo va bien, deberías ver el Servidor Chef con el usuario alice y la organización hworgz como sigue.

Además, también puedes verificar los certificados TLS generados utilizando el comando a continuación. Deberías ver los certificados alice.pem y hworgz-validator.pem.
ls ~/.chef/En este punto, has terminado la instalación del Servidor Chef.
Instalando y configurando Chef Workstation
Después de instalar el Servidor Chef, instalarás la estación de trabajo Chef. La estación de trabajo Chef es un nodo que los administradores/usuarios utilizan para crear y probar libros de cocina y recetas.
En este ejemplo, instalarás la estación de trabajo Chef en un servidor Debian 12 con 2 GB de RAM.
Instalando Chef Workstation a través de DEB
Pasa a la estación de trabajo Chef y ejecuta el comando a continuación para descargar el paquete de la estación de trabajo Chef utilizando el comando wget a continuación. En este caso, instalarás Chef Workstation 23.
VERSION="23.7.1042"
wget https://packages.chef.io/files/stable/chef-workstation/${VERSION}/debian/11/chef-workstation_${VERSION}-1_amd64.debUna vez descargado, ejecuta el siguiente comando para instalar el paquete de la estación de trabajo Chef en tu sistema.
sudo apt install ./chef-workstation_*.debCuando termines, deberías recibir la confirmación ‘ Gracias por instalar Chef Workstation ‘.

Por último, ejecuta el comando a continuación para verificar la versión de Chef.
chef -vLa siguiente salida confirma que has instalado Chef 23 en tu servidor Debian.

Configurando la Estación de Trabajo Chef
Ahora que has instalado la estación de trabajo Chef, a continuación configurarás tu instalación.
Primero, genera una nueva clave SSH utilizando el siguiente comando. Ingresa cuando se te pida para establecer una frase de contraseña para la clave.
ssh-keygen -t ed25519
Ahora ejecuta el comando a continuación para subir la clave al Servidor Chef chef.howtoforge.local. Esto se utilizará para recuperar certificados TLS del servidor Chef a la estación de trabajo.
ssh-copy-id [email protected]Ingresa tu contraseña cuando se te pida.

A continuación, genera un nuevo repositorio de Chef utilizando el comando a continuación. En este ejemplo, crearás un nuevo repositorio de Chef llamado test-repo.
chef generate repo test-repoAhora crea un nuevo directorio ~/test-repo/.chef y muévete a él.
mkdir ~/test-repo/.chef; cd ~/test-repo/.chefCopia los certificados TLS del Servidor Chef a la Estación de Trabajo en el directorio actual utilizando el siguiente comando.
scp [email protected]:~/.chef/*.pem .Una vez terminado, verifica la lista de archivos dentro del directorio ~/test-repo/.chef.
ls ~/test-repo/.chef/Asegúrate de que tus certificados TLS estén disponibles en el servidor de la estación de trabajo Chef.
Configurando la Utilidad Knife - Interfaz para el Servidor Chef
Ahora que has instalado la estación de trabajo Chef, configurarás Knife en tu estación de trabajo Chef. Knife es una herramienta de línea de comandos para comunicarse con el Servidor Chef que te permite gestionar nodos, libros de cocina, recetas, roles y entornos.
En la máquina de la estación de trabajo Chef, muévete al directorio ~/test-repo/.chef y crea un nuevo archivo knife.rb utilizando el siguiente comando del editor nano.
cd ~/test-repo/.chef
nano knife.rbInserta el siguiente script en Ruby y asegúrate de cambiar los detalles del usuario, organizaciones, archivos de certificados TLS y la URL del Servidor Chef.
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name 'alice'
client_key "alice.pem"
validation_client_name 'hworgz-validator'
validation_key "hworgz-validator.pem"
chef_server_url 'https://chef.howtoforge.local/organizations/hworgz'
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path ["#{current_dir}/../cookbooks"]Guarda y cierra el archivo cuando termines.
Ahora muévete al directorio ~/test-repo y recupera los certificados del Servidor Chef utilizando el comando knife a continuación.
cd ~/test-repo
knife ssl fetchUna vez terminado, deberías obtener la siguiente salida.

A partir de ahora, puedes usar knife para comunicarte con el Servidor Chef y arrancar la máquina cliente.
knife client listArrancando Cliente/Nodo desde la Estación de Trabajo Chef
En la siguiente sección, aprenderás cómo usar Knife para arrancar automáticamente el nodo 192.168.5.21 a través de SSH desde la estación de trabajo Chef.
Primero, muévete al directorio ~/test-repo/.chef.
cd ~/test-repo/.chefEjecuta el comando knife a continuación para arrancar el cliente 192.168.5.21. Asegúrate de cambiar el usuario root y la contraseña password con tu información.
En este ejemplo, agregarás el nodo 192.168.5.21 y lo nombrarás como client.
knife bootstrap 192.168.5.21 -U root -P password --node-name clientIngresa Y para continuar y proceder con el proceso.

Una vez terminado, deberías recibir la confirmación ‘ Fase Infra completa ‘.

Ahora verifica la lista de nodos disponibles en el entorno Chef utilizando el comando a continuación. Si todo va bien, deberías ver que el nodo cliente está disponible.
knife node listLuego, verifica los detalles del nodo cliente utilizando el comando knife a continuación.
knife node show clientEn la siguiente salida, puedes ver el nodo cliente de la máquina Debian 12 con FQDN client.howtoforge.local.

Por último, ahora puedes ejecutar comandos arbitrarios en el nodo cliente a través del comando knife a continuación.
knife ssh "client" "whoami;top" -u aliceIngresa la contraseña para el usuario Chef alice cuando se te pida. Si el comando es exitoso, deberías obtener lo siguiente.

Conclusión
¡Felicidades! Ahora has completado la instalación del Servidor Chef y la Estación de Trabajo en servidores Debian 12. También has aprendido a usar la herramienta de línea de comandos Knife para arrancar nodos cliente a través de SSH. Ahora puedes agregar nuevos nodos cliente y configurar libros de cocina y recetas para instalar aplicaciones.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.