ssh_askpass:exec(/app/jenkins slave/workspace/foo@tmp/askpass_foo.sh):没有这样的文件或目录

ssh_askpass:exec(/app/jenkins slave/workspace/foo@tmp/askpass_foo.sh):没有这样的文件或目录,jenkins,jenkins-pipeline,jenkins-plugins,jenkins-groovy,Jenkins,Jenkins Pipeline,Jenkins Plugins,Jenkins Groovy,在Jenkins中,我有一个带有ID、用户名、密码和私钥的凭证 在我的Jenkins文件中,我尝试使用ssh代理,如下所示: sshagent(['my_credential_id']) { // sh "git something" } 但它不起作用,我也不知道为什么 你知道我该怎么做吗 [Pipeline] { ( [first step] ) [Pipeline] sshagent [ssh-agent] Using credentials [my credential descri

在Jenkins中,我有一个带有ID、用户名、密码和私钥的凭证

在我的Jenkins文件中,我尝试使用ssh代理,如下所示:

sshagent(['my_credential_id']) {
  // sh "git something"
}
但它不起作用,我也不知道为什么

你知道我该怎么做吗

[Pipeline] { ( [first step] )
[Pipeline] sshagent
[ssh-agent] Using credentials [my credential description]
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent]   Exec ssh-agent (binary ssh-agent on a remote machine)
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-UZJIW23748/agent.23748
SSH_AGENT_PID=23750
$ ssh-add /app/jenkins-slave/workspace/[project]/[project]@tmp/private_key_[XXXXXXXXXXXXXX].key
ssh_askpass: exec(/app/jenkins-slave/workspace/[project]/[project]@tmp/askpass_[XXXXXXXXXXXXXX].sh): No such file or directory
[Pipeline] // sshagent
[Pipeline] End of Pipeline
ERROR: Failed to run ssh-add

根据我的经验,您的私钥有问题

将私钥保存到一个文件,例如privatekey.txt,并按如下方式进行测试:

$ ssh -o StrictHostKeyChecking=no -i privatekey.txt username@hostname.example.com

无法运行ssh add
。您是否能够手动运行
ssh add
?作为詹金斯的用户?没有TTY?如果有密码短语,
ssh add
应该请求它。