Instalar Ubuntu Cloud Image y configurar con mi usuario y password

En este artículo se describen los pasos para desplegar un Ubuntu Cloud-Image en nuestro datacenter, configurarlo con IP fija, con nuestro usuario y habilitar el login por SSH con contraseña.

Las "cloud-images" de Ubuntu son geniales. Podemos deplegar un servidor en minutos directamente desde un template en cualquier nube o datacenter que querramos. Uno de los beneficios que más me gusta es que, cambiando el tamaño del disco rígido de la Máquina Virtual, la imagen actualiza sus particiones simplemente reiniciando el servidor.

Cloud Images

Las imágenes cloud de ubuntu las podemos encontrar en https://cloud-images.ubuntu.com/. Seleccionamos la versión y descargamos el formato que corresponda con la nube en la cual queremos desplegar. En mi caso es nube de VMware por lo que descargo el archivo .OVA.

Pre requisitos

En principio, cloud image permite el ingreso por SSH con certificados. Por lo que, si no contamos con uno, debemos crearlo. En ubuntu esto es sencillo, simpemente ejecutamos:

ssh-keygen
ssh-add

Vamos a necesitar el contenido del archivo:
~/.ssh/id_rsa.pub

También necesitamos desplegar la Máquina Virtual en una red que tenga DHCP. 

Desplegar OVA

Desplegamos el OVA en nuestro entorno tal como lo hacemos habitualmente. El paso importante es ingresar el contenido del archivo "id_rsa.pub" en el campo  "ssh public keys" del formulario del OVA.

Configurar hardware

Antes de encender la Máquna Virtual, podemos hacer cambios de hardware. En mi caso, agregué memoria y extendí el disco rígido. Al iniciar la VM, el volumen se expande automáticamente.

Primer inicio de sesión

Una vez iniciada la VM, nos conectamos por SSH y realizar varias configuraciones. El usuario predeterminado se llama "ubuntu" y la VM tomará IP automáticamente

Inicio de sesión

ssh ubuntu@ip_del_servidor

Crear nuevo usuario

Para poder ingresar por SSH sin tener que escribir el nombre de usuario, debemos crear un usuario con nuestro nombre. Ej:
sudo useradd -s /bin/bash -d /home/username -m -G sudo username

sudo passwd username

Editamos el archivo "/etc/ssh/sshd_config" y configuramos los siguientes parámetros:
ChallengeResponseAuthentication yes
PasswordAuthentication yes

(Actualización) Configuramos grupos. Editamos el archivo "/etc/group" y en todo grupo donde esté el usuario "ubuntu", agregamos a nuestro nuevo usuario.

Reniciamos el servicio
service ssh restart

Configurar IP estática

Normalmente, en nuestro Data Center, solemos usar IP estática para los servidores. El template Cloud-Image configura DHCP cada vez que reiniciamos el servidor. Para desactivar esto, debemos crear el archivo "/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg" con el siguiente contenido:
network: {config: disabled}

Luego configuramos le IP estática en el archivo "/etc/netplan/50-cloud-init.yaml". Es importante respetar el nombre del a interfaz de red que aparece en el archivo, en mi caso es "ens192". Por ejemplo:
network:
  version: 2
  ethernets:
    ens192:
     dhcp4: no
     addresses: [192.168.1.222/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]

Para aplicar los cambios ejecutamos:
sudo netplan apply

Se cortará la comunicación por el cambio de IP pero ya podremos ingresar por SSH con nuestro usuario y contraseña:
ssh ip_del_servidor

Comentarios

Entradas populares de este blog

vRA8 - Definir redes disponibles por Projecto

Aria Automation - crear lista ordenada de key-value en custom forms con Orchestrator

Demo simple de GSLB con AVI