Bird
Raised Fist0
Jenkinsdevops~5 mins

Agent connection methods (SSH, JNLP) in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is SSH in Jenkins agent connection?
SSH (Secure Shell) is a method Jenkins uses to connect to an agent by securely logging into the agent machine over the network using a username and password or SSH keys.
Click to reveal answer
beginner
What does JNLP stand for and how does it work in Jenkins?
JNLP stands for Java Network Launch Protocol. Jenkins agents use JNLP to connect by running a Java program on the agent machine that connects back to the Jenkins controller.
Click to reveal answer
intermediate
Which Jenkins agent connection method requires the agent to initiate the connection?
JNLP requires the agent to initiate the connection to the Jenkins controller, which is useful when the agent is behind a firewall or NAT.
Click to reveal answer
intermediate
What are the security benefits of using SSH for Jenkins agents?
SSH provides encrypted communication and strong authentication using keys or passwords, reducing the risk of unauthorized access to the agent machine.
Click to reveal answer
intermediate
When might you prefer JNLP over SSH for Jenkins agent connection?
You might prefer JNLP when the agent cannot accept incoming connections due to firewall restrictions or when you want the agent to connect to the controller on its own schedule.
Click to reveal answer
Which Jenkins agent connection method requires the master to connect to the agent?
ANeither SSH nor JNLP
BJNLP
CBoth SSH and JNLP
DSSH
What protocol does JNLP use to launch the Jenkins agent?
AJava Network Launch Protocol
BFTP
CHTTP
DSSH
Which method is better if the agent is behind a strict firewall blocking incoming connections?
ABoth are equally good
BSSH
CJNLP
DNeither works
What is a common authentication method used by SSH for Jenkins agents?
AUsername and password
BBoth A and C
CSSH keys
DNo authentication
Which Jenkins agent connection method requires Java to be installed on the agent machine?
AJNLP
BSSH
CBoth SSH and JNLP
DNeither
Explain the differences between SSH and JNLP agent connection methods in Jenkins.
Think about who initiates the connection and what protocols are used.
You got /5 concepts.
    Describe scenarios where you would choose JNLP over SSH for Jenkins agent connection.
    Consider network restrictions and agent environment.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which statement correctly describes the difference between SSH and JNLP agent connection methods in Jenkins?
      easy
      A. SSH agents connect by Jenkins initiating the connection; JNLP agents connect by the agent initiating the connection.
      B. JNLP agents connect by Jenkins initiating the connection; SSH agents connect by the agent initiating the connection.
      C. Both SSH and JNLP agents require Jenkins to initiate the connection.
      D. Both SSH and JNLP agents require the agent to initiate the connection.

      Solution

      1. Step 1: Understand SSH agent connection

        SSH agents connect by Jenkins server initiating an SSH connection to the agent machine.
      2. Step 2: Understand JNLP agent connection

        JNLP agents connect by the agent itself initiating a connection back to the Jenkins server.
      3. Final Answer:

        SSH agents connect by Jenkins initiating the connection; JNLP agents connect by the agent initiating the connection. -> Option A
      4. Quick Check:

        SSH = Jenkins initiates, JNLP = Agent initiates [OK]
      Hint: Remember: SSH = Jenkins connects out, JNLP = agent connects in [OK]
      Common Mistakes:
      • Confusing which side initiates the connection
      • Thinking both methods work the same way
      • Assuming JNLP requires SSH protocol
      2. Which of the following is the correct syntax to configure a Jenkins SSH agent in the Jenkins UI?
      easy
      A. Provide Jenkins server IP and SSH port only.
      B. Provide Jenkins server URL and agent secret key only.
      C. Provide only the agent's IP address without credentials.
      D. Provide agent's hostname, SSH credentials, and remote root directory.

      Solution

      1. Step 1: Identify SSH agent configuration requirements

        SSH agents require hostname, SSH credentials (username/key), and remote root directory to connect properly.
      2. Step 2: Eliminate incorrect options

        Options A, B, and C miss essential details like credentials or directory, so they are incorrect.
      3. Final Answer:

        Provide agent's hostname, SSH credentials, and remote root directory. -> Option D
      4. Quick Check:

        SSH agent needs hostname + credentials + directory [OK]
      Hint: SSH agent setup needs hostname, credentials, and directory [OK]
      Common Mistakes:
      • Skipping SSH credentials in configuration
      • Confusing JNLP secret with SSH setup
      • Providing incomplete connection details
      3. Given a Jenkins agent configured with JNLP, what will happen if the agent machine cannot reach the Jenkins server URL?
      medium
      A. The agent will connect using SSH fallback automatically.
      B. The agent will connect successfully because Jenkins initiates the connection.
      C. The agent will fail to connect because it initiates the connection to Jenkins.
      D. The Jenkins server will push jobs to the agent regardless.

      Solution

      1. Step 1: Understand JNLP connection direction

        JNLP agents initiate the connection to the Jenkins server URL, so the agent must reach the server.
      2. Step 2: Analyze network failure impact

        If the agent cannot reach the Jenkins server URL, the connection attempt fails and the agent cannot connect.
      3. Final Answer:

        The agent will fail to connect because it initiates the connection to Jenkins. -> Option C
      4. Quick Check:

        JNLP agent needs network access to Jenkins [OK]
      Hint: JNLP agent must reach Jenkins URL to connect [OK]
      Common Mistakes:
      • Assuming Jenkins initiates JNLP connection
      • Thinking SSH fallback is automatic
      • Believing Jenkins can push jobs without agent connection
      4. You configured an SSH agent in Jenkins but the connection keeps failing with authentication errors. What is the most likely cause?
      medium
      A. Agent machine cannot reach Jenkins server URL.
      B. Incorrect SSH credentials or missing SSH key on the agent machine.
      C. JNLP agent secret key is invalid.
      D. Jenkins server firewall blocks outgoing SSH connections.

      Solution

      1. Step 1: Identify cause of SSH authentication failure

        Authentication errors usually mean wrong username/password or missing SSH key on the agent side.
      2. Step 2: Eliminate other options

        Agent machine cannot reach Jenkins server URL. relates to JNLP, not SSH. JNLP agent secret key is invalid. is about JNLP secret. Jenkins server firewall blocks outgoing SSH connections. is unlikely as Jenkins initiates SSH outbound.
      3. Final Answer:

        Incorrect SSH credentials or missing SSH key on the agent machine. -> Option B
      4. Quick Check:

        SSH auth errors = bad credentials or missing key [OK]
      Hint: Check SSH credentials and keys first for connection errors [OK]
      Common Mistakes:
      • Confusing JNLP secret with SSH credentials
      • Ignoring network reachability issues
      • Assuming firewall blocks inbound SSH to Jenkins
      5. You need to connect Jenkins agents located behind strict firewalls that block incoming connections to the agent machines. Which connection method should you choose and why?
      hard
      A. Use JNLP because agents initiate connections to Jenkins, bypassing firewall restrictions.
      B. Use SSH because Jenkins can initiate connections to agents behind firewalls.
      C. Use SSH with VPN to bypass firewall restrictions.
      D. Use JNLP but disable agent authentication for easier connection.

      Solution

      1. Step 1: Analyze firewall impact on connection methods

        Firewalls blocking incoming connections to agents prevent Jenkins from initiating SSH connections.
      2. Step 2: Choose method allowing agent-initiated connection

        JNLP agents initiate connection to Jenkins server, so they can connect despite firewall restrictions on incoming traffic.
      3. Step 3: Evaluate other options

        SSH requires Jenkins to connect in, VPN adds complexity, disabling authentication is insecure and not recommended.
      4. Final Answer:

        Use JNLP because agents initiate connections to Jenkins, bypassing firewall restrictions. -> Option A
      5. Quick Check:

        Firewall blocks incoming? Choose agent-initiated JNLP [OK]
      Hint: Firewalls blocking incoming? Pick JNLP agent connection [OK]
      Common Mistakes:
      • Choosing SSH despite firewall inbound block
      • Disabling authentication for convenience
      • Ignoring VPN complexity and security
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard