配置用户
默认用户
默认情况下,名为的特权用户 core
是在Fedora CoreOS系统上创建的,但没有使用默认密码或SSH键进行配置。如果您希望使用 core
用户,您必须提供包括密码和/或SSH密钥的Ignition配置 core
用户。或者,您也可以通过Ignition配置创建其他新用户。
创建新用户
要创建一个或多个新用户,请将其添加到 users
你的Butane配置清单。在下面的示例中,配置创建了两个新用户名,但没有将它们配置为特别有用。
variant: fcos
version: 1.4.0
passwd:
users:
- name: jlebon
- name: miabbott
您通常需要配置SSH密钥或密码,以便能够以这些用户身份登录。
使用SSH密钥
要为本地用户配置SSH密钥,您可以使用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...
SSH密钥位置
SSHD使用 帮助者计划 从用户的文件读取公钥 ~/.ssh/authorized_keys.d
目录。关键文件按字母顺序读取,忽略点文件。标准 ~/.ssh/authorized_keys
之后,以通常的方式读取文件。调试…的读数 ~/.ssh/authorized_keys.d
,手动运行帮助器程序并检查其输出:
/usr/libexec/ssh-key-dir
Ignition将配置的SSH密钥写入 ~/.ssh/authorized_keys.d/ignition
。在可在平台级别配置SSH密钥的平台上,如AWS,Afterburn会将这些密钥写入 ~/.ssh/authorized_keys.d/afterburn
。
使用密码身份验证
Fedora CoreOS发货时没有默认密码。您可以使用Butane配置为本地用户设置密码。在上一个示例的基础上,我们可以配置 password_hash
对于一个或多个用户:
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...
要生成安全的密码散列,请使用 mkpasswd
:
$ podman run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt
Password:
$y$j9T$A0Y3wwVOKP69S.1K/zYGN.$S596l11UGH3XjN...
这个 yescrypt
建议对新密码使用哈希方法。有关哈希方法的更多详细信息,请参见 man 5 crypt
。
配置的密码将在控制台接受本地身份验证。默认情况下,FedoraSSH不允许[_ENABLING_SSH_PASSWORD_AUTHENTICATION,PASSWORD CoreOS]。
配置组
Fedora CoreOS默认配置了几个组: root
, adm
, wheel
, sudo
, systemd-journal
, docker
当通过Butane配置配置用户时,我们可以指定用户应该属于的组。
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...
如果组不存在,用户应将其创建为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...
配置管理权限
要授予用户管理权限,最简单的方法是将其添加到 sudo
和 wheel
作为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...
启用SSH密码身份验证
要通过SSH启用密码身份验证,请在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