Hi all,
I use the below playbook to add known hosts:
============================================================
- name: demo
hosts: 10.223.0.51
remote_user: root
tasks:
- name: fetch
fetch: src=/etc/ssh/ssh_host_rsa_key.pub dest=/tmp/keys
fail_on_missing=yes validate_checksum=yes
- name: demo
hosts: 10.223.0.52
remote_user: root
tasks:
- name: known_hosts
known_hosts: path="/home/xiaoliang/.ssh/known_hosts" host="sun1-db-1"
state=present
key="{{ lookup('file',
'/tmp/keys/10.223.0.51/etc/ssh/ssh_host_rsa_key.pub') }}"
============================================================
============================================================
$ ansible-playbook -i ../../inventory/hosts demo.yml -vvvv
PLAY [demo]
*******************************************************************
TASK: [fetch]
*****************************************************************
<10.223.0.51> ESTABLISH CONNECTION FOR USER: root on PORT 22 TO 10.223.0.51
<10.223.0.51> EXEC /bin/sh -c 'rc=flag; [ -r /etc/ssh/ssh_host_rsa_key.pub
] || rc=2; [ -f /etc/ssh/ssh_host_rsa_key.pub ] || rc=1; [ -d
/etc/ssh/ssh_host_rsa_key.pub ] && rc=3; python -V 2>/dev/null || rc=4; [
x"$rc" != "xflag" ] && echo "${rc} "/etc/ssh/ssh_host_rsa_key.pub && exit
0; (python -c '"'"'import hashlib; BLOCKSIZE = 65536; hasher =
hashlib.sha1(); afile = open("'"'"'/etc/ssh/ssh_host_rsa_key.pub'"'"'",
"rb") buf = afile.read(BLOCKSIZE) while len(buf) > 0: hasher.update(buf)
buf = afile.read(BLOCKSIZE) afile.close() print(hasher.hexdigest())'"'"'
2>/dev/null) || (python -c '"'"'import sha; BLOCKSIZE = 65536; hasher =
sha.sha(); afile = open("'"'"'/etc/ssh/ssh_host_rsa_key.pub'"'"'", "rb")
buf = afile.read(BLOCKSIZE) while len(buf) > 0: hasher.update(buf) buf =
afile.read(BLOCKSIZE) afile.close() print(hasher.hexdigest())'"'"'
2>/dev/null) || (echo '"'"'0 '"'"'/etc/ssh/ssh_host_rsa_key.pub)'
ok: [10.223.0.51] => {"changed": false, "checksum":
"312b6e08531e50f6baa21bf87f0dd8adbaad0c0d", "dest":
"/tmp/keys/10.223.0.51/etc/ssh/ssh_host_rsa_key.pub", "file":
"/etc/ssh/ssh_host_rsa_key.pub", "md5sum":
"cb9f17d1febefd7c66fc79967606d272"}
PLAY [demo]
*******************************************************************
TASK: [known_hosts]
***********************************************************
<10.223.0.52> ESTABLISH CONNECTION FOR USER: root on PORT 22 TO 10.223.0.52
<10.223.0.52> REMOTE_MODULE known_hosts
path="/home/xiaoliang/.ssh/known_hosts" host="sun1-db-1" state=present
key="ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAtqGtO6VLYU3kWIWoiKKg8rgEQvEB/wHP1aZEK95kQ1yekDIK8Vfj4VQ3+pKqwTirwSF9ODeZR1VaC+K4b6Oke9bJ/0h5bXiRzzvmD/wu+c6uEtjtMdNYzQnLu4UNCCh1Fa6Pktm2Lz9xSxTcFyIncxgFSxqabf12OVYWsYaj7BwO6Wgs/pYoJjDv+IgJpUwvsPhJkX2s/Ak/U4JwnuaxXB/wufF/eFbEnTUbTv7o7KpHqX50Ok/daN05AVcC/oYPf79wOaeBsPMnTNisqjYJNSgS1EpTw1ZNxqwiRUpcyx8SQ/uI1caA06Q8g7RcNmLWiEM0t5lx2LjScX4ztrIYxQ=="
<10.223.0.52> EXEC /bin/sh -c 'mkdir -p
$HOME/.ansible/tmp/ansible-tmp-1432862043.76-101243566006070 && echo
$HOME/.ansible/tmp/ansible-tmp-1432862043.76-101243566006070'
<10.223.0.52> PUT /tmp/tmp54Yy4J TO
/root/.ansible/tmp/ansible-tmp-1432862043.76-101243566006070/known_hosts
<10.223.0.52> EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8
/usr/bin/python
/root/.ansible/tmp/ansible-tmp-1432862043.76-101243566006070/known_hosts;
rm -rf /root/.ansible/tmp/ansible-tmp-1432862043.76-101243566006070/
>/dev/null 2>&1'
failed: [10.223.0.52] => {"cmd": "/usr/bin/ssh-keygen -F sun1-db-1 -f
/tmp/tmpxxoJ6Q", "failed": true, "rc": 1}
stderr: line 1 invalid key: ssh-rsa...
/tmp/tmpxxoJ6Q is not a valid known_hosts file.
msg: line 1 invalid key: ssh-rsa...
/tmp/tmpxxoJ6Q is not a valid known_hosts file.
FATAL: all hosts have already failed -- aborting
PLAY RECAP
********************************************************************
to retry, use: --limit @/home/xiaoliang/demo.retry
10.223.0.51 : ok=1 changed=0 unreachable=0
failed=0
10.223.0.52 : ok=0 changed=0 unreachable=0
failed=1
============================================================
will anyone please help to look at this? or point me to the right direction?
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/91d26a6a-9951-49de-8eb3-01d19759ba50%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.