Configurazione degli utenti
Utente Predefinito
Per impostazione predefinita, un utente privilegiato chiamato core
viene creato sul sistema Fedora CoreOS, ma non è configurato con una password predefinita o una chiave SSH. Se desideri utilizzare l’utente core
, devi fornire una configurazione Ignition che includa una password e/o chiavi SSH per l’utente core
. In alternativa, puoi creare nuovi utenti aggiuntivi tramite le configurazioni Ignition.
Se non vuoi usare Ignition per gestire la chiave SSH dell’utente predefinito, puoi utilizzare il supporto di Afterburn e fornire una chiave SSH tramite il tuo cloud provider.
Creazione di un nuovo utente
Per creare un nuovo utente (o più utenti), aggiungilo alla lista users
della tua configurazione Butane. Nell’esempio seguente, la configurazione crea due nuovi nomi utente, ma non li configura per essere particolarmente utili.
variant: fcos
version: 1.6.0
passwd:
users:
- name: jlebon
- name: miabbott
In genere, per poter accedere con quegli utenti, sarà necessario configurare le chiavi SSH o una password.
Utilizzo di una chiave SSH
Per configurare una chiave SSH per un utente locale, puoi utilizzare una configurazione Butane:
variant: fcos
version: 1.6.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
- name: jlebon
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Utilizzo di Riferimenti ai File per le Chiavi SSH
A seconda della variante e della versione di configurazione utilizzata, è possibile utilizzare riferimenti a file locali per le chiavi pubbliche SSH invece di incorporarli. L’esempio tratto da sezione precedente può quindi essere riscritto come segue:
variant: fcos
version: 1.6.0
passwd:
users:
- name: core
ssh_authorized_keys_local:
- users/core/id_rsa.pub
- name: jlebon
ssh_authorized_keys_local:
- users/jlebon/id_rsa.pub
- users/jlebon/id_ed25519.pub
- name: miabbott
ssh_authorized_keys_local:
- users/miabbott/id_rsa.pub
Affinché funzioni, è necessario utilizzare butane
con il parametro --files-dir
per consentire il caricamento dei file dal disco durante la conversione in configurazioni Ignition.
Consulta Specifiche di configurazione per maggiori dettagli e per sapere quali versioni della variante selezionata la supportano. In genere, ogni file può contenere più chiavi SSH, una per riga, ed è possibile specificare anche ssh_authorized_keys in linea, a condizione che le chiavi SSH siano univoche.
|
Posizioni delle chiavi SSH
sshd utilizza un programma helper programma, specificato tramite la direttiva AuthorizedKeysCommand
, per leggere le chiavi pubbliche dai file nella directory ~/.ssh/authorized_keys.d
di un utente. AuthorizedKeysCommand
viene provato dopo i consueti file AuthorizedKeysFile
(il cui valore predefinito è ~/.ssh/authorized_keys
) e non verrà eseguito se viene trovata una chiave corrispondente. I file chiave in ~/.ssh/authorized_keys.d
vengono letti in ordine alfabetico, ignorando i file con punto.
Ignition scrive le chiavi SSH configurate in ~/.ssh/authorized_keys.d/ignition
. Sulle piattaforme in cui le chiavi SSH possono essere configurate a livello di piattaforma, come AWS, Afterburn scrive tali chiavi in ~/.ssh/authorized_keys.d/afterburn
.
Per eseguire il debug della lettura di ~/.ssh/authorized_keys.d
, eseguire manualmente il programma di supporto e ispezionarne l’output:
/usr/libexec/ssh-key-dir
Per visualizzare e convalidare la configurazione effettiva per sshd, sono disponibili due modalità di test (-t
, -T
), come documentato nelle pagine del manuale https://man.openbsd.org/sshd.
Utilizzo dell’autenticazione tramite password
Fedora CoreOS non prevede password predefinite. È possibile utilizzare una configurazione Butane per impostare una password per un utente locale. Basandoci sull’esempio precedente, possiamo configurare password_hash
per uno o più utenti:
variant: fcos
version: 1.6.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
- name: jlebon
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Per generare un hash di password sicuro, usa mkpasswd
dal pacchetto whois
. La tua distribuzione Linux potrebbe fornire un’implementazione di mkpasswd
diversa; puoi assicurarti di utilizzare quella corretta eseguendola da un contenitore:
$ podman run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt
Password:
$y$j9T$A0Y3wwVOKP69S.1K/zYGN.$S596l11UGH3XjN...
Per le nuove password si consiglia il metodo di hashing yescrypt
. Per maggiori dettagli sui metodi di hashing, consultare man 5 crypt
.
La password configurata verrà accettata per l’autenticazione locale sulla console. Per impostazione predefinita, Fedora CoreOS non consente autenticazione con password tramite SSH.
Configurazione dei gruppi
Fedora CoreOS viene fornito con alcuni gruppi configurati di default: root
, adm
, wheel
, sudo
, systemd-journal
, docker
Quando si configurano gli utenti tramite le configurazioni Butane, è possibile specificare i gruppi di cui l’utente (o gli utenti) devono far parte.
variant: fcos
version: 1.6.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
- name: jlebon
groups:
- wheel
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
groups:
- docker
- wheel
password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Se un gruppo non esiste, gli utenti devono crearlo come parte della configurazione Butane.
variant: fcos
version: 1.6.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...
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
groups:
- docker
- marketing
- wheel
password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Configurazione dei privilegi amministrativi
Il modo più semplice per concedere privilegi amministrativi agli utenti è aggiungerli ai gruppi sudo
e wheel
come parte della configurazione di Butane.
variant: fcos
version: 1.6.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...
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
groups:
- docker
- marketing
- wheel
- sudo
password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Abilitazione dell’autenticazione tramite password SSH
Per abilitare l’autenticazione tramite password tramite SSH, aggiungi quanto segue alla configurazione di Butane:
variant: fcos
version: 1.6.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
Want to help? Learn how to contribute to Fedora Docs ›