AWS EC2 インスタンスに接続できます。
ssh -i "pizdform.pem" [email protected]
Last login: Tue Feb 21 12:36:50 2023 from ...
Ansible pingを試しました。
cat test-project/hosts.ini
[web]
52.206.23.6
ansible -i test-project/hosts.ini web -m ping -u ec2-user
ping失敗
52.206.23.6 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).",
"unreachable": true
}
なぜ?
答え1
エラーメッセージには「権限が拒否されました」と表示されます。これは、ターゲットに接続するために正しいSSH IDファイルを使用していないことを示します(ファイルはデフォルトのSSHコマンドのオプションpizdform.pem
に引数として渡されます)。 PEMファイルを使用するオプションを-i
使用すると、正しくリンクできます。メモリにIDを保存するオプションを使用する必要はありません。--private-key PRIVATE_KEY_FILE
ansible
ssh-agent
--private-key
ansible
答え2
私はansibleを学び始め、最近この問題に直面しました。ansible_user=username
マニフェストファイルにホスト名を追加してソリューションを見つけました。その後、SUCCESS出力を受け取りました。これが役に立つことを願っています。