Configuration de l’authentification

Authentification par clé SSH

La configuration d’une clé SSH pour un utilisateur local peut être réalisé avec la configuration FCC suivante :

variant: fcos
version: 1.1.0
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...

SSH key locations

sshd uses a helper program to read public keys from files in a user’s ~/.ssh/authorized_keys.d directory. Key files are read in alphabetical order, ignoring dotfiles. The standard ~/.ssh/authorized_keys file is read afterward, in the usual way. To debug the reading of ~/.ssh/authorized_keys.d, manually run the helper program and inspect its output:

/usr/libexec/ssh-key-dir

Ignition writes configured SSH keys to ~/.ssh/authorized_keys.d/ignition. On platforms where SSH keys can be configured at the platform level, such as AWS, Afterburn writes those keys to ~/.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 FCC pour définir un mot de passe à un utilisateur local :

variant: fcos
version: 1.1.0
passwd:
  users:
    - name: core
      password_hash: "$y$j9T$A0Y3wwVOKP69S.1K/zYGN.$S596l11UGH3XjN..."

Pour générer un hachage d’un mot de passe, utiliser la commande mkpasswd :

$ 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 sur la console. Par défaut, Fedora CoreOS n’accepte pas l’authentification par mot de passe via SSH.

Activation de l’authentification par mot de passe via SSH

Pour activer l’authentification par mot de passe via SSH, utiliser la configuration FCC suivante :

variant: fcos
version: 1.1.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