Configurando autenticação

Usando uma chave SSH

Para configurar uma chave SSH para um usuário local, você pode usar uma configuração do Fedora CoreOS:

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

Localizações das chaves SSH

O sshd usa um programa auxiliar para ler as chaves públicas dos arquivos no diretório ~/.ssh/authorized_keys.d do usuário. Os arquivos de chave são lidos em ordem alfabética, ignorando os dotfiles. O arquivo padrão ~/.ssh/authorized_keys é lido depois, da maneira usual. Para depurar a leitura de ~/.ssh/authorized_keys.d, execute manualmente o programa auxiliar e inspecione sua saída:

/usr/libexec/ssh-key-dir

O Ignition grava as chaves SSH configuradas em ~/.ssh/authorized_keys.d/ignition. Em plataformas onde as chaves SSH podem ser configuradas no nível da plataforma, como AWS, Afterburn escreve essas chaves em ~/.ssh/authorized_keys.d/afterburn.

Usando autenticação por senha

O Fedora CoreOS não vem com senhas por padrão. Você pode usar uma configuração do Fedora CoreOS para escolher uma senha para um usuário local:

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

Para gerar um hash de senha seguro, utilize o comando mkpasswd:

$ mkpasswd --method=yescrypt
Password:
$y$j9T$A0Y3wwVOKP69S.1K/zYGN.$S596l11UGH3XjN...

O método de hash yescrypt é recomendado para novas senhas, para mais detalhes em métodos de hash, veja man 5 crypt.

A senha configurada será aceita para autenticação local no console. Por padrão, o Fedora CoreOS não permite autenticação via SSH.

Habilitando autenticação SSH por senha

Para habilitar autenticação por senha via SSH, utilize a seguinte configuração do Fedora CoreOS:

variant: fcos
version: 1.1.0
storage:
  files:
    - path: /etc/ssh/sshd_config.d/20-enable-passwords.conf
      mode: 0644
      contents:
        inline: |
          # Fedora CoreOS desabilita login SSH por senha por padrão
          # Habilite-o.
          # Este arquivo deve vir antes de 40-disable-passwords.conf.
          PasswordAuthentication yes