jenkins如何在docker中使用ssh-agent

问题描述

我的jenkins在docker中运行,我使用ssh-agent编写了一个远程演示到服务器。

这是我的管道

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                sshagent (credentials: ['hehu']) {
                    sh 'ssh -o StrictHostKeyChecking=no -l yunwei xxx.xxx.xx.25 -a'
                    sh 'pwd'
                    sh 'whoami'
                }
            }
        }
    }
}

输出

enter image description here

似乎pwdwhoami命令仍在jenkins docker中而不是我的服务器中运行。我不知道如何使用此插件,我无法从ssh-agent文档中找到任何用法

解决方法

您应该使用:

sh 'ssh -o StrictHostKeyChecking=no -l yunwei x.x.x.x pwd && whoami && cmd...'