2016-04-26 108 views
2

我有以下劇本:部署SSH密鑰服務器

--- 
- 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') }}" 

我有一個包含我的兩個SSH公鑰和私鑰這樣的本地目錄:

./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 

我需要創建一些可用於將密鑰推送到hosts字段中定義的各種主機的劇本。

但是,.ssh密鑰目錄創建不正確。即稱爲tom的目錄在id_rsa和id_rsa.pub目錄下被創建。

例如

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

有沒有人有這方面的一個很好的示例劇本?

回答

3

嘗試:

--- 
- 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 

您可以複製整個目錄或湯姆湯姆與「嗵/」的內容。 當您複製完整目錄時,您也不需要指定文件。

相關問題