ssh - jenkins ssh 代理转发

标签 ssh jenkins rsa ssh-agent

jenkins@jenkins-server --- 验证(使用 RSA key )---> git@gitlab-server
jenkins@jenkins-server --- 验证(使用 RSA key )---> user@qa-server
从命令行输出如预期

jenkins@jenkins-server $ ssh user@qa-server 'ssh -T git@gitlab-server'
Welcome to GitLab, Anonymous!
从 Jenkins 作业运行与“执行外壳”构建步骤完全相同的命令,输出是相同的(如预期的那样)。
当使用“通过 SSH 发送文件或执行命令”构建步骤时,jenkins 能够连接到 user@qa-server但是,ssh -T git@gitlab-server远程命令失败

Permission denied, please try again.

Permission denied, please try

again. Permission denied (publickey,password).


看起来像 ssh-agent未在 qa-server 上运行在这种特殊情况下。
所有服务器都运行 Ubuntu 服务器。
我有 Jenkins SSH Agent Plugin安装和配置。
如何调试这个(和/或修复)。
我怎样才能看到 Jenkins 正在运行的确切命令?

最佳答案

不知何故或错误地(我不确定) ssh-agent 在 qa-server 上运行。 (从 .bash_profile 开始加载可用的 key )。

一旦我停止在 qa-server 上运行的 ssh-agent一切都开始顺利。

回顾:ssh-agent正在运行 jenkins-server由 jenkins SSH 代理启动
并且没有 ssh-agent运行于 qa-server .

关于ssh - jenkins ssh 代理转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29949711/

相关文章:

c++ - RSA_Verify失败,返回错误的签名错误

java - 如何生成与 com.auth0 java-jwt 一起使用的 RSA key ?

bash - 在 Windows 中自动化 git 命令

go - 使用 crypto/ssh 连接到 Cisco 交换机

node.js - 当我 ssh 进入实例时, Node 版本与手动执行时不同

linux - 在 jenkins 管道中用 envsubst 替换文件变量

iphone - iPhone上的RSA/ECB/PKCS1Padding解密

linux - 如何从expect脚本中捕获标准错误

jenkins - Chef 与 Jenkins 的集成

Jenkins Multijob 最终结果