ssh - ansible:使用 ssh key 身份验证但多次询问密码 - 为什么?

标签 ssh amazon-ec2 ansible

在我的管理主机上,我安装了 ansible 2.2.0.0 并且我正在尝试连接到我的客户端。

客户端是一个 EC2 实例,只接受 SSH key 登录。我有一个简单的剧本,正在客户端上创建一个临时文件

我看到多次要求我输入私钥密码的行为,想知道为什么?我在以前版本的 Ansible 上没有看到这个行为者。

  ansible-playbook -i inventory soe-yml --verbose --private-key <keyfile> -vvv

  ansible-playbook -i inventory soe-yml --verbose --private-key <keyfile>
  Using /home/X/ansible/ansible.cfg as config file

PLAY [<instance-dns>] **************************

TASK [setup] *******************************************************************
Enter passphrase for key 'X':
 [WARNING]: sftp transfer mechanism failed on [<instance-dns>]. Use ANSIBLE_DEBUG=1 to see detailed information

Enter passphrase for key 'X':
Enter passphrase for key 'X':
Enter passphrase for key 'X':
ok: [<instance-dns>]

TASK [Create test file] ********************************************************
Enter passphrase for key '<keyfile>':

  Enter passphrase for key 'X':
  Enter passphrase for key 'X':
  Enter passphrase for key 'X':
  Enter passphrase for key 'X':
  Enter passphrase for key 'X':
changed: [] => {"changed": true, "dest": "/tmp/hello", "gid": 1000, "group": "centos", "mode": "0664", "owner": "centos", "secontext": "unconfined_u:object_r:user_tmp_t:s0", "size": 0, "state": "file", "uid": 1000}

PLAY RECAP *********************************************************************
<instance-dns> : ok=2    changed=1    unreachable=0    failed=0`


```

我找到了这个链接 https://github.com/ansible/ansible/issues/16354
这指出我使用我现在正在使用的 ssh-agent 并且它有效,但我很想明白为什么我被问到这么多次与客户进行交互?

另外,如果我使用 ask-pass 选项,ansible 就会挂起
[X@X ansible]$ ansible-playbook -i inventory soe-yml --verbose --private-key key --ask-pass
Using /home/x/ansible/ansible.cfg as config file
SSH password:

PLAY [hostx] **************************

TASK [setup] ***************

*
这是一个错误吗?看到类似的东西了吗?

最佳答案

您的 ssh key 已加密。您需要设置一些东西,以便在您登录时解密 key :https://askubuntu.com/questions/362280/enter-ssh-passphrase-once

或者你不能加密或私钥(这是不太安全的)。

关于ssh - ansible:使用 ssh key 身份验证但多次询问密码 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40735635/

相关文章:

"Odd-length string"的Ansible-Vault错误

ansible - Jenkins 管道与 terraform - 如何将输出变量馈送到以下 Ansible 阶段

ssh - 如何在后台正确打开 SSH 隧道?

git - 为 git pull/push 包含 .pem

amazon-web-services - IAM 实例配置文件名称无效

mysql - 如何部署在amazon ec2实例上运行的war文件tomcat

javascript - 如何从 NodeJS 运行 CLI 命令?

multithreading - Perl - 如何制作特定于各个线程的库

php - 检查 php 文件是否在后台运行

ansible - 在模板文件中迭代时的多个组