This mechanism help you do any ssh related task. Where 'ssh_key_file' is secrete file base credentials.
def runShellwithCredentials(ssh_key_file,cmd) {
env.RUN_CMD = cmd
try {
withCredentials([[$class: 'FileBinding', variable: 'PVT_KEY_FILE', credentialsId: ssh_key_file]]) {
sh '''
chmod 0500 $PVT_KEY_FILE
env
eval `ssh-agent`
ssh-add $PVT_KEY_FILE
$RUN_CMD
kill -s term $SSH_AGENT_PID
'''
}
} catch (e) {
def w = e.printStackTrace()
mailSubject += " has failed with ${e.message}"
mailBody += mailSubject
mailer(mailSubject,mailBody)
throw e
}
}