我正在尝试将SSH公钥复制到新创建的VM:
- hosts: vm1
remote_user: root
tasks:
- name: deploy ssh key to account
authorized_key: user='root' key="{{lookup('file','/root/.ssh/id_rsa.pub')}}"
但是得到错误:
致命:[jenkins]:无法忍受! => {"更改":false," msg":"无法通过ssh连接到主机:权限被拒绝(publickey,gssapi-keyex,gssapi-with-mic,密码)。\ r \ n","无法访问":true}
所以建立SSH我首先需要建立SSH?
如何自动为新创建的KVM建立SSH,无需手动密钥复制。
(host_key_checking = False
中的ancible.cfg
)
答案 0 :(得分:2)
假设目标计算机允许使用密码进行root登录(从错误消息中看起来确实如此),您必须为您的剧本提供凭据:
ansible-playbook playbook.yml --extra-vars "ansible_ssh_user=root ansible_ssh_pass=password"
答案 1 :(得分:0)
当我遇到同样的问题时,我尝试过(并且有效)的东西:
ansible target-server-name -m command -a "whatever command" -k
-k
提示您输入目标服务器的ssh密码。
在 / etc / ansible / hosts 文件中添加以下更改:
[target-server-name]
target_server_ip
示例:
ansible target-server-name -m ping -k