Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible playbook通过jenkins用户_Jenkins_Ssh_Ansible - Fatal编程技术网

Ansible playbook通过jenkins用户

Ansible playbook通过jenkins用户,jenkins,ssh,ansible,Jenkins,Ssh,Ansible,我正试着从詹金斯那里打电话给我的Ansible剧本。但每次我这样做,我都会因为公钥错误而被拒绝许可。 我的目标是将剧本从本地机器推送到gcvm 事实: Ansible和jenkins安装在同一台机器上 我的GC VM实例密钥位于/home/govind/Desktop/splukinstancekey.pem路径中。这是在我的主要用户(“govind”)中 在jenkins中,我使用ssh-keygen生成了一个RSA密钥,并在用户“govind.ssh/authorized_-keys”中添加

我正试着从詹金斯那里打电话给我的Ansible剧本。但每次我这样做,我都会因为公钥错误而被拒绝许可。 我的目标是将剧本从本地机器推送到gcvm

事实:

  • Ansible和jenkins安装在同一台机器上
  • 我的GC VM实例密钥位于/home/govind/Desktop/splukinstancekey.pem路径中。这是在我的主要用户(“govind”)中
  • 在jenkins中,我使用ssh-keygen生成了一个RSA密钥,并在用户“govind.ssh/authorized_-keys”中添加了相同的密钥。因此,我能够从jenkins用户连接到govind用户(安装了ansible)
  • 问题是每当我从jenkins用户运行playbook时,都会抛出以下错误:

    任务[收集事实]*********************************************************************************************************************** 致命:[34.71.8.168]:无法访问!=>{“changed”:false,“msg”:“未能通过ssh:Load key”/home/govind/Desktop/splunkinstancekey.pem连接到主机”:权限被拒绝\r\n\nubuntu@34.71.8.168:权限被拒绝(公钥)。“,“无法访问”:true} 致命:[35.223.166.86]:无法访问!=>{“changed”:false,“msg”:“未能通过ssh:Load key”/home/govind/Desktop/splunkinstancekey.pem连接到主机”:权限被拒绝\r\n\nubuntu@35.223.166.86:权限被拒绝(公钥)。“,“无法访问”:true}

    从用户“govind”,我可以通过ansible命令轻松ping远程服务器。谁能帮我理解jenkins用户可能遗漏了什么差距。
    我理解jenkins无法访问中的pem文件,因为它不属于该文件。从其他各种帖子中,我读到jenkins连接到安装了ansible的用户,然后执行playbook。但是无法取得任何进展。

    您似乎应该从ssh故障排除的角度来解决这个问题。听起来你好像在试图用ssh从jenkins盒子连接到govind盒子。因此,对于生成的密钥对,您需要将公钥放在
    ubuntu
    用户下的govind框的authorized_keys下。ie-因为在你的错误中,你是以ubuntu用户身份登录--
    ubuntu@34.71.8.168
    。然后,您应该能够以
    ubuntu
    用户的身份使用ssh从jenkins框连接到govind框,就像您试图做的那样