【发布时间】:2019-08-08 07:21:42
【问题描述】:
我尝试学习/使用 Ansible 来设置我的新服务器。控制机是一台 Windows PC。我在 Linux 的 Windows 子系统中使用 Debian 并成功安装了 ansible。
我可以使用带有(受密码保护的)私钥的腻子连接到服务器(真正的 Debian)(我在创建时将公钥复制到服务器(它是 Hetzner 云服务器))。
但是当我尝试运行 ansible -m ping all 时,我得到了
server5 | UNREACHABLE! => {
"changed": false,
"msg": "not a valid OPENSSH private key file",
"unreachable": true
}
我通过使用 puttygen 导出私钥生成了私钥。
用“强制新文件格式”导出后我得到了
server5 | UNREACHABLE! => {
"changed": false,
"msg": "Invalid/incorrect username/password. Private key file is encrypted",
"unreachable": true
}
所以我生成了一个没有密码的私钥文件,看看这是否有帮助。这个私钥也适用于 putty 但ansible prints:
server5 | UNREACHABLE! => {
"changed": false,
"msg": "Invalid key",
"unreachable": true
}
hosts文件内容:
server5 ansible_host=xxx.xx.xx.xx ansible_user=root ansible_ssh_private_key_file=prikey.pem
密钥文件如下所示
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
如果使用“强制新文件格式”导出也是这样
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
知道我做错了什么吗?
【问题讨论】:
标签: ansible ssh-keys windows-subsystem-for-linux