2016-10-15 4 views
-1

私は、プロビジョニングしている迷惑メールボックスをシェルプロビジョナでプロビジョニングしています。私はどこ私は、ユーザーの浮浪者とおそらく他のユーザーのためのセットアップのsshキーを必要として、これansible遊びがrootとして実行され、今の問題は、シェルのプロビジョニングで、次の脚本にlinuxで別のユーザのためにssh鍵を生成し、それを自動で実行する方法

--- 
- name: Provision vagrant1 box 
    hosts: localhost 
    tasks: 
    - name: Install nmap 
    apt: name=nmap state=latest update_cache=yes 

    - name: Install sshpass 
    apt: name=sshpass state=latest update_cache=yes 

    - name: Generate ssh key 
    shell: "ssh-keygen -f $HOME/.ssh/id_rsa -t rsa -N ''" 

を使用しています。

また、sshキーの作成を自動化し、既知のホストに公開鍵をコピーすることは、サーバーのプロンプトとパスワードの入力プロンプトを信頼する可能性があり、パスワードが異なる可能性があるため、最初は自動化するのが難しいと感じています。さまざまなユーザのためにssh鍵の作成を自動化し、公開鍵を不明な量のリモートサーバを安全な場所にコピーする最良の方法は何ですか?

気になる人は、ネットワーク上のすべてのリモートサーバをnmapで探し、sshpassでパスワードを入力してssh-copy-idを自動化することをお勧めします。

+1

あなたはそれがあるとして、非常に不可解だとして、あなたの質問を書き換え/再フォーマットがあります。また、[mcve]でブラシしたいかもしれません。 – boardrider

答えて

1

AnsibleプレイブックでユーザーのSSHキーを生成する適切な方法は、the user modulegenerate_ssh_keyキーワードを使用することです。 (あなたがそれをしたい場合を除き)キーは右の権限で生成される方法、および既存のキーは上書きされません。

--- 
- hosts: your_host 
- user: 
    ... 
    generate_ssh_key=yes 
    ... 
関連する問題