Use a "local" jenkins ssh agent without globally declare it

I manage a Jenkins instance and a client want to use a private agent to run their builds.

Do you know a plugin which allow this without declare the SSH Agent on Jenkins General Configuration ?

Purpose / Constraints :

  • No one except them should be able to see/use this private agent
  • They want to be autonome to change the server config (adress, workspace dir, ssh key, …)

Example of usage :

pipeline {
    agent {
        ssh {
            address '192.168.0.10'
            credentials 'my-cred-id'
            workspace '/tmp/workspace'
            ...
        }
    }
    stages {
        stage('Example') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

I don’t think there is anything like this currently in Jenkins. You could just have them run ssh and pass a script to run, but otherwise I don’t think there is a “cleaner” solution.