AlphaHydrae.ssh-key

Ansible SSH 密钥

Ansible 角色,用于为用户生成 SSH 密钥。

ssh_key_root_link 设置为 true 将把密钥符号链接到 root 用户的 .ssh 目录中。

角色变量

SSH 密钥属性

  • ssh_key_user(或 user)- 必需 - 要为其生成 SSH 密钥的用户(默认为 user 变量的值)。
  • ssh_key_bits [整数] - 生成的密钥的位数(默认为 8192)。
  • ssh_key_comment - SSH 密钥块末尾的注释(默认为 {{ ssh_key_user }}@{{ ansible_hostname }},例如 jdoe@mycomputer)。

非 root 用户的 SSH 密钥位置

  • ssh_key_dir - 密钥将生成的 .ssh 目录(默认为 {{ host_user_homes }}/{{ ssh_key_user }}/.ssh,其中 host_user_homes 是由 AlphaHydrae.multipass 角色提供的)。
  • ssh_key_file - SSH 密钥文件的位置(默认为 {{ ssh_key_dir }}/id_rsa)。

root 用户的 SSH 密钥位置

  • ssh_key_root_dir - root 用户的 .ssh 目录(默认为 {{ host_root_home }}/.sshhost_root_home 变量由 AlphaHydrae.multipass 角色提供)。
  • ssh_key_root_file - root 用户的 SSH 密钥文件的位置(默认为 {{ ssh_key_root_dir }}/id_rsa)。

Root 符号链接变量

  • ssh_key_root_link [布尔值] - 是否将生成的密钥符号链接到 root 用户的 .ssh 目录中(默认为 false;如果 ssh_key_user 是 root 用户,则无效)。

依赖关系

AlphaHydrae.multipass 角色用于确定用户主目录的位置基础目录。 该角色根据目标主机的平台设置以下事实的合理默认值:

  • host_root_user - root 用户的用户名(例如 root)。
  • host_root_group - root 用户的组(例如 root)。
  • host_root_home - root 用户的主目录(例如 /root)。
  • host_user_homes - 用户主目录的位置基础目录(例如,Linux 上为 /home,在 OS X上 为 /Users)。

示例 Playbook

- hosts: servers
  roles:
    - role: AlphaHydrae.ssh-key
      ssh_key_user: jdoe

自定义 SSH 密钥属性

- hosts: servers
  roles:
    - role: AlphaHydrae.ssh-key
      ssh_key_user: jdoe
      ssh_key_bits: 2048
      ssh_key_comment: my-key

使用已定义的默认用户(例如在 playbook 级别)

- hosts: servers
  vars:
    user: jdoe
  roles:
    - role: AlphaHydrae.ssh-key

将密钥符号链接到 root 用户的 .ssh 目录中

- hosts: servers
  roles:
    - role: AlphaHydrae.ssh-key
      ssh_key_user: jdoe
      ssh_key_root_link: true
关于项目

Generates an SSH key for a user.

安装
ansible-galaxy install AlphaHydrae.ssh-key
许可证
mit
下载
81
拥有者