Configurando Usuarios

Usuario Predeterminado

De forma predeterminada en el sistema Fedora CoreOS se crea un usuario privilegiado llamado core, pero no está configurado con una contraseña predeterminada o clave SSH. Si desea utilizar el usuario core, debe suministrarle una configuración Ignition que incluye una contraseña y/o clave(s) SSH para el usuario core. Alternativamente usted puede crear nuevos usuarios adicionales por medio de configuraciones Ignition.

Sí no desea usar Ignition para administrar la(s) clave(s) SSH predeterminadas de usuario, puede hacer uso del Soporte Afterburn y suministrar una clave SSH por medio de su proveedor en la nube.

Creando un NUevo Usuario

Para crear un nuevo usuario (o usuarios), añádalos a la lista `users`de su configuración Butane. En el siguiente ejemplo, la configuración crea dos nuevos nombres de usuario pero no los configura para ser especialmente útiles.

variant: fcos
version: 1.4.0
passwd:
  users:
    - name: jlebon
    - name: miabbott

Usted normalmente desea configurar claves SSH o una contraseña con el objetivo de ser capaz de acceder como esos usuarios.

Usando una clave SSH

Para configurar una clave SSH para un usuario local, puede usar una configuración Butane:

variant: fcos
version: 1.4.0
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
    - name: jlebon
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
        - sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
    - name: miabbott
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...

Ubicaciones de Clave SSH

sshd utiliza un programa de ayuda para leer las claves públicas de los archivos del directorio de usuario ~/.ssh/authorized_keys.d. Los archivos son leídos en orden alfabético, ignorando los archivos con puntos. El archivo estándar ~/.ssh/authorized_keys se lee después de la manera habitual. Para depurar la lectura de ~/.ssh/authorized_keys.d, ejecute manualmente el programa de ayuda e inspeccione su salida:

/usr/libexec/ssh-key-dir

Ignition escribe las claves SSH configuradas en ~/.ssh/authorized_keys.d/ignition. Sobre las plataformas donde las claves SSH pueden ser configuradas a nivel de plataforma, como AWS, Afterburn escribe estas claves en ~/.ssh/authorized_keys.d/afterburn.

Usando Contraseña de Autenticación

Fedora CoreOS se envía sin contraseñas predeterminadas. Puede usar la configuración Butane para establecer una contraseña para un usuario local. Sobre la base del ejemplo anterior, podemos configurar el password_hash para uno o más usuarios:

variant: fcos
version: 1.4.0
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
    - name: jlebon
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
        - sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
    - name: miabbott
      password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...

To generate a secure password hash, use mkpasswd from the whois package. Your Linux distro may ship a different mkpasswd implementation; you can ensure you’re using the correct one by running it from a container:

$ podman run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt
Password:
$y$j9T$A0Y3wwVOKP69S.1K/zYGN.$S596l11UGH3XjN...

Se recomienda el método hash yescrypt para las nuevas contraseñas. Para más información sobre los métodos de hash vea man 5 crypt.

La contraseña configurada será aceptada para la autenticación local en la consola. De modo predeterminado, Fedora CoreOS no permite password authentication via SSH.

Configurando Grupos

Fedora CoreOS viene con unos pocos grupos configurados de manera predeterminada: root, adm, wheel, sudo, systemd-journal, docker

Cuando configuramos usuarios por medio de configuraciones Butane, podemos especificar los grupos de los que podría ser parte el usuario(s).

variant: fcos
version: 1.4.0
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
    - name: jlebon
      groups:
        - wheel
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
        - sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
    - name: miabbott
      groups:
        - docker
        - wheel
      password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...

Si no existe un grupo, los usuarios podrían crearlo como parte de la configuración Butane.

variant: fcos
version: 1.4.0
passwd:
  groups:
    - name: engineering
    - name: marketing
      gid: 9000
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
    - name: jlebon
      groups:
        - engineering
        - wheel
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
        - sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
    - name: miabbott
      groups:
        - docker
        - marketing
        - wheel
      password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...

Configurar Privilegios Administrativos

La manera más fácil para que los usuarios obtengan privilegios administrativos es tenerlos añadidos a los grupos sudo y wheel como parte de la configuración Butane.

variant: fcos
version: 1.4.0
passwd:
  groups:
    - name: engineering
    - name: marketing
      gid: 9000
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
    - name: jlebon
      groups:
        - engineering
        - wheel
        - sudo
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
        - sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
    - name: miabbott
      groups:
        - docker
        - marketing
        - wheel
        - sudo
      password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...

Habilitando la Autenticación de Contraseña SSH

Para habilitar la autenticación de contraseña por medio de SSH, añada lo siguiente en su configuración Butane:

variant: fcos
version: 1.4.0
storage:
  files:
    - path: /etc/ssh/sshd_config.d/20-enable-passwords.conf
      mode: 0644
      contents:
        inline: |
          # Fedora CoreOS disables SSH password login by default.
          # Enable it.
          # This file must sort before 40-disable-passwords.conf.
          PasswordAuthentication yes