https://issues.jenkins-ci.org/browse/JENKINS-36420 and https://issues.jenkins-ci.org/browse/JENKINS-55978 were implemented and they are honoured if you use the OS provided ssh client (Mac OS X at least).
However if you execute the same command through the Jenkins CLI command with the -ssh option, the timeout is ignored.
Reproduction steps
- Run Jenkins with the property -Dorg.jenkinsci.main.modules.sshd.SSHD.idle-timeout=0
- Create a pipeline with a sleep higher than 10 minutes:
stage('10 Minute Wait') { echo "Started the 10 minute wait" sleep(time:610,unit:"SECONDS") echo "The big sleep is over" }
- Build the job remotely through CLI
java -jar jenkins-cli.jar -s $MY_JENKINS_SERVER -user $USER -ssh -i "id_rsa" build $JOB -v -s