authorized_keys not looking in role 'files' directory for files

322 views
Skip to first unread message

james.m...@infinityworks.com

unread,
Jul 23, 2015, 9:06:47 AM7/23/15
to Ansible Project
Hi,

I'm trying to add an ssh key to all my servers via the authorized_keys command but it doesn't seem to look in the usual places (i.e the role directory(s)). Here's my code

- name: Install SSH keys
  authorized_key: user=vagrant key="{{ item }}"
  with_file:
    - id_rsa.pub
Enter code here...

And my directory structure is:

/-roles
/-- disco
/---- files
/----- id_rsa.pub
/---- tasks
/----- main.yml
/- disco.yml

And the error on the terminal (with -vvvv):

TASK: [disco | Install SSH keys] **********************************************
fatal: [default] => could not locate file in lookup: id_rsa.pub

FATAL: all hosts have already failed -- aborting

It seems that the authorized_keys does not look in the same folders as 'copy', for example.

Thanks
James

Guillaume Querso

unread,
Jul 23, 2015, 9:18:19 AM7/23/15
to Ansible Project, james.m...@infinityworks.com
authorized_key seems to look in ./ssh
have you tried to import your file in vars_files?

james.m...@infinityworks.com

unread,
Jul 23, 2015, 9:32:50 AM7/23/15
to Ansible Project, gquers...@gmail.com
Sorry bit of a noob how would this solve the problem? From my understanding authorized_keys 'key' takes either a string (of the key) or a url to the key file. Wouldn't having it in vars_file just be specifying the URL in a different place?

Also this means I have to specify this at the host level not the role level which in my current understanding reduces the re-usabiiity.

I've seen a couple of bug reports that report similar problems but they all end in "patch merged" and I'm definitely on the latest stable release of ansible...

Thanks

Guillaume Querso

unread,
Jul 23, 2015, 9:48:41 AM7/23/15
to Ansible Project, james.m...@infinityworks.com
what i mean is that in your main playbook (the one which trigger the roles) you have the following:
vars_files:
  - /path/to/your/file

because my understanding of your problem is that you need to access to keys stored as jinja variables in the file right?
Reply all
Reply to author
Forward
0 new messages