2016-04-26 10 views
2

Ich habe folgende Textbuch:Bereitstellung SSH-Schlüssel-Server

--- 
- name: provision toms keys 
    hosts: ssh4.demo.com 
    tasks: 
    - name: ensure user tom is present 
     user: name=tom state=present 

    - name: ensure private key and public one are present 
     copy: src=ssh_keys/tom dest=/.ssh mode=0600 
     with_items: 
     - id_rsa.pub 
     - id_rsa 

- name: provision toms public keys 
    hosts: ssh1.demo.com 

    sudo: yes 

    tasks: 

    - user: name=tom comment="Add tom" group=staff 

    - name: Placing key 
     authorized_key: user=tom key="{{ lookup('file', 'ssh_keys/tom/id_rsa.pub') }}" 

Ich habe ein lokales Verzeichnis, das sowohl öffentliche als meine ssh enthält und private Schlüssel wie folgt aus:

./ssh_keys 
./ssh_keys/david 
./ssh_keys/david/id_rsa 
./ssh_keys/david/id_rsa.pub 
./ssh_keys/fred 
./ssh_keys/fred/id_rsa 
./ssh_keys/fred/id_rsa.pub 
./ssh_keys/joe 
./ssh_keys/joe/id_rsa 
./ssh_keys/joe/id_rsa.pub 
./ssh_keys/paul 
./ssh_keys/paul/id_rsa 
./ssh_keys/paul/id_rsa.pub 
./ssh_keys/peter 
./ssh_keys/peter/id_rsa 
./ssh_keys/peter/id_rsa.pub 
./ssh_keys/tom 
./ssh_keys/tom/id_rsa 
./ssh_keys/tom/id_rsa.pub 

Ich brauche einige erstellen Playbooks, die verwendet werden können, um die Schlüssel an verschiedene Hosts zu senden, die in den Hosts-Feldern definiert sind.

Allerdings werden die .ssh-Schlüsselverzeichnisse falsch erstellt. ein Verzeichnis namens tom wird unterhalb eines Verzeichnisses id_rsa und id_rsa.pub erstellt.

z.B.

/home/tom/.ssh/id_rsa/tom/id_rsa 

Hat jemand ein gutes Beispiel Spielbuch dafür?

Antwort

3

Versuchen:

--- 
- name: provision toms keys 
    hosts: ssh4.demo.com 
    tasks: 
    - name: ensure user tom is present 
     user: name=tom state=present 

    - name: ensure private key and public one are present 
     copy: src=ssh_keys/tom/ dest=/.ssh mode=0600 

Sie können das gesamte Verzeichnis tom oder den Inhalt von tom mit 'tom /' kopieren. Auch müssen Sie die Dateien nicht angeben, wenn Sie das vollständige Verzeichnis kopieren.