Hi, I am trying to deploy jenkins server and jenkins agent using Docker Compose.
Here you can check my docker compose yml:
version: '3'
services:
jenkins-server:
image: jenkins/jenkins:lts
ports:
- "8080:8080"
- "50000:50000"
volumes:
- jenkins-data:/var/jenkins_home
environment:
- JENKINS_SLAVE_AGENT_PORT=50000
networks:
- jenkins
jenkins-docker:
image: docker:dind
container_name: jenkins-docker
privileged: true
environment:
- DOCKER_TLS_CERTDIR=/certs
volumes:
- jenkins-docker-certs:/certs/client
- jenkins-data:/var/jenkins_home
ports:
- "2376:2376"
networks:
jenkins:
aliases:
- docker
command: --storage-driver overlay2
jenkins-agent:
image: jenkins/ssh-agent:alpine-jdk17
ports:
- "2222:22"
environment:
- JENKINS_AGENT_SSH_PUBKEY="my_key"
networks:
- jenkins
networks:
jenkins:
volumes:
jenkins-data:
jenkins-docker-certs:
I am trying to use official documentation instruction where we generating ssh key, add Credentials, then add agent container, restarting server, adding new node (agent) with our data and access agent via ssh private and pub keys.
But when I run my agent I would get connection refused error (and sometimes new ones):
SSHLauncher{host='jenkins-agent', port=22, credentialsId='jenkins', jvmOptions='', javaPath='', prefixStartSlaveCmd='', suffixStartSlaveCmd='', launchTimeoutSeconds=60, maxNumRetries=10, retryWaitTime=15, sshHostKeyVerificationStrategy=hudson.plugins.sshslaves.verifiers.KnownHostsFileKeyVerificationStrategy, tcpNoDelay=true, trackCredentials=true}
[08/13/23 12:59:51] [SSH] Opening SSH connection to jenkins-agent:22.
/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
Key exchange was not finished, connection is closed.
SSH Connection failed with IOException: "Key exchange was not finished, connection is closed.", retrying in 15 seconds. There are 10 more retries left.
/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
Key exchange was not finished, connection is closed.
SSH Connection failed with IOException: "Key exchange was not finished, connection is closed.", retrying in 15 seconds. There are 9 more retries left.
/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
Key exchange was not finished, connection is closed.
SSH Connection failed with IOException: "Key exchange was not finished, connection is closed.", retrying in 15 seconds. There are 8 more retries left.
/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
Key exchange was not finished, connection is closed.
SSH Connection failed with IOException: "Key exchange was not finished, connection is closed.", retrying in 15 seconds. There are 7 more retries left.
/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
Key exchange was not finished, connection is closed.
Secon error:
SSHLauncher{host='jenkins-agent', port=22, credentialsId='jenkins', jvmOptions='', javaPath='', prefixStartSlaveCmd='', suffixStartSlaveCmd='', launchTimeoutSeconds=60, maxNumRetries=10, retryWaitTime=15, sshHostKeyVerificationStrategy=hudson.plugins.sshslaves.verifiers.ManuallyTrustedKeyVerificationStrategy, tcpNoDelay=true, trackCredentials=true}
[08/13/23 13:09:05] [SSH] Opening SSH connection to jenkins-agent:22.
[08/13/23 13:09:05] [SSH] The SSH key with fingerprint 42:e9:1f:f4:ee:ad:b0:f9:5b:79:f8:bd:a5:5f:6d:d3 has been automatically trusted for connections to this machine.
/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
Key exchange was not finished, connection is closed.
SSH Connection failed with IOException: "Key exchange was not finished, connection is closed.", retrying in 15 seconds. There are 3 more retries left.
ERROR: Server rejected the 1 private key(s) for jenkins (credentialId:jenkins/method:publickey)
[08/13/23 13:09:06] [SSH] Authentication failed.
Authentication failed.
[08/13/23 13:09:06] Launch failed - cleaning up connection
[08/13/23 13:09:06] [SSH] Connection closed.