t2d.ssh_known_hosts

sshknownhosts角色

这是一个管理SSH已知主机文件的Ansible角色,该文件通常位于/etc/ssh/ssh_known_hosts~user/.ssh/known_hosts

这个角色的主要目的是封装位于https://github.com/bfmartin/ansible-sshknownhosts的sshknownhosts模块,使其适用于Ansible Galaxy。

要求

任何类Unix系统并且安装有openssh服务器的系统都可以使用。

安全性

如果ssh_known_hosts文件是通过ssh-keyscan构建的而没有验证密钥,用户将会面临中间人攻击的风险。另一方面,如果安全模型允许这种风险,ssh-keyscan可以帮助检测在创建ssh_known_hosts文件后发生的篡改密钥文件或中间人攻击。

(摘自ssh-keyscan手册页)

因此,您可以通过提供fingerprint属性手动指定指纹。

角色变量

该角色使用以下变量及其默认值:

ssh_known_hosts_path:写入的目标文件。默认是/etc/ssh/ssh_known_hosts,而~user/.ssh/known_hosts是一个不错的选择。

ssh_known_hosts_state:存在或不存在。默认是存在。

ssh_known_hosts_enctype:要扫描的公钥编码类型。可选值为rsa、dsa、ecdsa或ed25519。默认是rsa。

ssh_known_hosts_port:扫描远程主机时连接的端口。默认是22。

ssh_known_hosts_keyscan:用于扫描的程序。默认是当前路径下的ssh-keyscan。

ssh_known_hosts:要扫描的主机及其属性的字典列表:

ssh_known_hosts:
  - name: example.com
    state: present
    dest: /etc/ssh/ssh_known_hosts
    enctype: rsa
    port: 22
    keyscan: ssh-keyscan
    aliases:
      - www.example.com
      - www2.example.com

依赖项

无。

示例剧本


- hosts: all
  vars:
    ssh_known_hosts:
      - name: example.com
        state: present
        dest: /etc/ssh/ssh_known_hosts
        enctype: rsa
        port: 22
        keyscan: ssh-keyscan
        aliases:
          - www.example.com
          - www2.example.com
      - name: srv.example.com
        fingerprint: AAAAE2VjZHNhLXNoYTItbmlzdHAyN...
  roles:
    - role: sshknownhosts

许可证

BSD

作者信息

Byron F. Martin
电子邮件: http://www.bfmartin.ca/contact
GitHub: bfmartin

关于项目

This is an ansible role that manages the SSH known hosts file usually located at /etc/ssh/ssh_known_hosts or ~user/.ssh/known_hosts.

安装
ansible-galaxy install t2d.ssh_known_hosts
许可证
bsd-2-clause
下载
637
拥有者