Ansible 中的 SSH 错误 : Permission denied (publickey, 密码)

标签 ssh ansible

我是 Ansible 的新手,我正在尝试实现它。我尝试了互联网上存在的所有可能的方法以及与之相关的所有问题,但仍然无法解决该错误。我该如何修复它?

我在 MacBook Pro 上安装了 Ansible playbook。我创建了一个虚拟机,其IP地址为10.4.1.141,主机IP地址为10.4.1.140。

我尝试通过 SSH 使用主机连接到我的虚拟机。它通过以下命令连接:

ssh user@10.4.1.141

我获得了 shell 访问权限。这意味着我的 SSH 连接工作正常。

现在我为 Ansible 尝试了以下命令:

ansible all -m ping

/etc/ansible/host中的内容为10.4.1.141

然后显示以下错误:

10.4.1.141 | FAILED => SSH Error: Permission denied (publickey,password).

while connecting to 10.4.1.141:22

有时使用 -vvvv 重新运行命令很有用,它会打印 SSH 调试输出以帮助诊断问题。

然后我尝试在主机上的.ssh/文件夹中创建config文件,但错误仍然相同。

config 文件的内容是:

  IdentityFile ~/.ssh/id_rsa

这是我的私钥的路径。

然后我运行了相同的命令 ansible all -m ping 并再次遇到相同的错误。

当我尝试另一个命令时,

ansible all -m ping -u user --ask-pass

然后它要求输入 SSH 密码。我给了它(我非常确定密码是正确的),但我收到此错误:

10.4.1.141 | FAILED => FAILED: Authentication failed.

这是使用-vvvv的日志:

<10.4.1.141> ESTABLISH CONNECTION FOR USER: rajatg
<10.4.1.141> REMOTE_MODULE ping
<10.4.1.141> EXEC ssh -C -tt -vvv -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/rajatg/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 10.4.1.141 /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007 && echo $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007'
10.4.1.141 | FAILED => SSH Error: Permission denied (publickey,password).
    while connecting to 10.4.1.141:22
It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue.

我仍然无法弄清楚问题出在哪里。在完成所有研究后,这是我最后的选择在这里提问。 This is the link I referred to .

最佳答案

我解决了这个问题。问题出在我的 /etc/ansible/hosts 文件中。

/etc/ansible/hosts中写入的内容为10.4.1.141。但当我将其更改为 rajat@10.4.1.141 时,问题就得到了解决。

关于Ansible 中的 SSH 错误 : Permission denied (publickey, 密码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33280244/

相关文章:

bash - ansible wget 然后 exec scripts => get_url 等效

引号内的 Ansible ad-hoc shell 命令引号 - 如何转义?

ansible - 开发ansible调用另一个模块

git - 使用SSH将Git存储库备份到S3

Git ssh 无法解析主机名

shell - 提示时输入密码

c - 解释通过 ssh 发送的命令

git - 通过 ssh 触发 jenkins 构建?

amazon-ec2 - Ansible AWS EC2 安全组未更新

docker.image...inside with dir 和 ansiblePlaybook 导致 java.lang.ArrayIndexOutOfBoundsException