我想通过 ssh 将 ansible 连接到 EC2。我在本地机器(ubuntu)上创建了一个密钥对,并使用 ssh-copy-id 将其复制到我的 EC2 实例中。复制成功,但是当我想连接到我的实例时出现以下错误:
Failed to connect to the host via ssh: [email protected]: Permission denied (publickey)
当我检查远程机器上的 auth.log 文件时,我看到以下日志:
invalid user usuario from 187.xx.xx.xx port 47988
这是我的 etc/ansible/hosts 文件
[host1]
github ansible_host=13.xxx.xxx.xx ansible_user=root
任何帮助将不胜感激。谢谢
一般来说,我们应该使用域凭据而不是基于密钥的身份验证来运行从控制节点到任何远程服务器的剧本。
但是在您的情况下,您正在尝试使用 root 用户和密钥进行身份验证。所以请按照以下步骤操作:
“/home/ansible/.ssh/authorized_keys”
您要通过 ansible 控制节点管理的远程服务器中。现在使用以下命令检查 SSH
ssh -i /path/to/private-key ansible@<remoteserverip>
希望这可以帮助。
/etc/ansible/ansible.cfg
关于 ansible 配置,在提到私有 时会有一个参数。private_key_file = /path/to/private-key
我需要在远程服务器上的 sshd_config 文件中设置PasswordAuthentication yes并解决了问题