Configuration des utilisateurs
Utilisateur par défaut
By default, a privileged user named core
is created on the Fedora CoreOS system, but it is not configured with a default password or SSH key. If you wish to use the core
user, you must provide an Ignition config which includes a password and/or SSH key(s) for the core
user. Alternatively you may create additional, new users via Ignition configs.
If you do not want to use Ignition to manage the default user’s SSH key(s), you can make use of the Afterburn support and provide an SSH key via your cloud provider.
Création d’un nouvel utilisateur
Pour créer un ou plusieurs nouveaux utilisateurs, ajoutez les à la liste users
dans votre fichier de configuration Butane. Dans l’exemple suivant, la configuration crée deux nouveaux utilisateurs sans ajouter d’autre configuration ou d’usage défini.
variant: fcos
version: 1.4.0
passwd:
users:
- name: jlebon
- name: miabbott
Il est généralement souhaitable de configurer une clé SSH ou un mot de passe pour pouvoir se connecter avec ces utilisateurs.
Utilisation d’une clé SSH
La configuration d’une clé SSH pour un utilisateur local peut être réalisé avec la configuration Butane suivante :
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...
Emplacement des clés SSH
sshd utilise l’outil ssh-key-dir pour lire les clés publiques contenues dans le dossier utilisateur ~/.ssh/authorized_keys.d
. Les fichiers de clés sont lus dans l’ordre alphabétique, en ignorant ceux commençant par un point. Le fichier classique ~/.ssh/authorized_keys
est lu en dernier. Pour débuguer la lecture du ~/.ssh/authorized_keys.d
, exécutez manuellement l’outil ssh-key-dir
et observez la sortie standard :
/usr/libexec/ssh-key-dir
Ignition enregistre les clés SSH dans ~/.ssh/authorized_keys.d/ignition
. Pour les plateformes sur lequel les clés SSH peuvent être directement configurées, comme AWS, Afterburn enregistrera ces clés dans ~/.ssh/authorized_keys.d/afterburn
.
Authentification par mot de passe
Fedora CoreOS est livré sans mot de passe par défaut. Vous pouvez utiliser une configuration Butane pour définir un mot de passe à un utilisateur local. Voici comment définir le password_hash
pour des utilisateurs dans l’exemple précédent :
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...
La fonction de hachage yescrypt
est recommandée pour les nouveaux mots de passe. Pour plus de détails sur les fonctions de hachage, voir man 5 crypt
.
Le mot de passe ne sera accepté que dans le cas d’un accès local avec la console. Par défaut, Fedora CoreOS n’accepte pas l’authentification par mot de passe via SSH.
Configuration des groupes
Fedora CoreOS dispose d’un ensemble de groupes configurés par défaut : root
, adm
, wheel
, sudo
, systemd-journal
, docker
Lors de la configuration des utilisateurs via une configuration Butane, il est possible de spécifier les groupes dans lesquels un utilisateur doit être inclus.
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 un groupe n’existe pas, il est nécessaire de le créer dans la configuration 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...
Configuration des accès privilégiés
La façon la simple de donner des privilèges administrateurs à des utilisateurs est de les ajouter aux groupes sudo
et wheel
dans la configuration 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...
Activation de l’authentification par mot de passe via SSH
Pour activer l’authentification par mot de passe via SSH, utiliser la configuration Butane suivante :
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