只需一种选项,用中文将以下内容重新表达:先通过 Ansible 将 authorized_key 传递
这是《Ansible Advent Calendar 2015》第五天的文章。
授权密钥模块
我想在执行ansible时不输入SSH密码,而是希望使用公钥认证。并且我不想为这个设置写一个playbook,只想试试看怎么写。
$ ANSIBLE_HOST_KEY_CHECKING=False \
ansible -i hosts all -m authorized_key -a "user=hoge key='`cat $HOME/.ssh/id_rsa.pub`'" -k
由于我不确定ansible命令是否支持像lookup这样在文档中有记载的功能,所以我使用cat命令来获取字符串。
如果你要在playbook中执行,就要按照文档的指示直接进行。请参考:http://docs.ansible.com/ansible/authorized_key_module.html。
以上就是。
(2019年8月15日添加)
只需要一个选择:
在运行ansible-playbook之前,我想要事先进行远程authorized_key的设置!我认为上述命令在这种情况下很方便。
指定-k,–ask-pass询问连接密码,同时将本地公钥复制到远程的$HOME/.ssh/authorized_keys以进行ssh密码验证。