2017-06-28 2 views
0

私は新しくAnagersです。リモートマシンで新しいユーザを作成し、ssh-keys(git用)をローカルマシンからリモートマシンの新しいユーザ。 基本的には、localmachine/somepath/keys/からremotemachine/newuser/home/.ssh/までです。アシスタント:新しいユーザを作成し、ローカルシステムからsshキーをコピーする

は、これまで私が試した:

- name: Create user 
    hosts: remote_host 
    remote_user: root 
    tasks: 
    - name: Create new user 
     user: name=newuser ssh_key_file=../keys/newuser 

これは、リモートマシン上NEWUSERを作成しますが、それは任意のキー(の.sshがまだ空である)をコピーしません。私もauthorized_keyを2番目のタスクとして試しましたが、プライベートキーをコピーしようとするとエラーメッセージが表示されるだけでした。

すでにキーを実行した後にキーが追加されていて、newuserが既に存在する可能性もありますか?つまり、もう一度実行することはできますか?最初にnewuserを削除する必要がありますか?

答えて

2

ssh_key_fileは、generate_ssh_keyのオプションで使用されるパスで、user moduleです。これは、作成されたリモートユーザにアップロードするローカルSSH鍵のパスではありません。

あなたはSSHキーをアップロードしたい場合は、copy module

- name: Create user 
    hosts: remote_host 
    remote_user: root 
    tasks: 
    - name: Create new user 
     user: 
     name: newuser 
    - name: Create .ssh folder 
     file: 
     path: ~newuser/.ssh 
     state: directory 
     owner: newuser 
     group: newuser 
     mode: 0700 
    - name: Upload SSH key 
     copy: 
     src: ../keys/newuser 
     dest: ~newuser/.ssh/id_rsa 
     owner: newuser 
     group: newuser 
     mode: 0700 

を使用する必要がところで、YAML構文の代わりに、引数の構文を使用することをお勧めします。

+0

'.ssh'が既に作成されているようですので、私はそのタスクをスキップしました。しかし、私に「コピー」を指してくれてくれてありがとう - 私は間違っていた。 – CGFoX

関連する問題