jenkins @ jenkins-server --- authenticates(带RSA密钥)---> git @ gitlab-server
jenkins @ jenkins-server --- authenticates(带RSA密钥)---> user @ qa-server
从命令行输出是预期的
jenkins@jenkins-server $ ssh user@qa-server 'ssh -T git@gitlab-server'
Welcome to GitLab, Anonymous!
从jenkins作业运行与“执行Shell”构建步骤完全相同的命令,输出是相同的(如预期的那样) .
当使用"Send files or execute commands over SSH"构建步骤时,jenkins能够连接到 user@qa-server
但是, ssh -T git@gitlab-server
远程命令失败并且
权限被拒绝,请再试一次 . 许可被拒绝,请再试一次 . 权限被拒绝(公钥,密码) .
看起来 ssh-agent
在这种特殊情况下没有在 qa-server
上运行 .
所有服务器都运行Ubuntu服务器 . 我安装并配置了jenkins SSH Agent Plugin .
如何调试(和/或修复) . 我怎样才能看到jenkins正在运行的确切命令?
1 回答
不知何故或错误(我不确定)ssh-agent是在
qa-server
上运行的(在.bash_profile上启动以加载可用的密钥) .一旦我停止在
qa-server
运行的ssh-agent,一切都开始顺利进行 .回顾:
ssh-agent
正在jenkins-server
运行,由jenkins SSH Agent启动,并且没有ssh-agent
在qa-server
运行 .