【发布时间】:2017-10-11 12:18:24
【问题描述】:
我正在尝试在 Ubuntu 14 LTS 服务器上通过 SSH 运行 Ansible ad hoc 命令:
ansible all -m ping -u myusername
但是我收到以下错误消息:
FAILED => SSH 错误:权限被拒绝(公钥、密码)
当我尝试运行带有询问密码标志的广告命令时,它可以工作:
ansible all -m ping -u myusername --ask-pass
absence.ugent.be | success >> {
"changed": false,
"ping": "pong"
}
有谁知道为什么在不询问我的密码的情况下该命令不起作用?我该如何解决这个问题?
更新:正如 neuhaus 建议的那样,我尝试从我的 ssh 密钥文件中删除密码短语:
ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
但这并没有解决问题。奇怪的是我居然还能成功跑
ansible all -m ping -u myusername --ask-pass
使用我的旧密码,即使在创建新的 ssh 密钥之后也是如此。
感谢您的帮助,
安东尼
【问题讨论】:
-
为远程主机设置基于密钥的身份验证。
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地点。
标签: ssh ansible ubuntu-14.04