Install the Linux Agent

Your environment may require you to manually install Linux to monitor your devices. Learn how to manually install Linux on your device using a variety of methods, and verify installation. 

Before using the Linux agent, learn about supported Linux versions and installation prerequisites. For a complete list of supported versions, see Agent Compatibility, System Requirements, and Impacts.

Note:

For information on installing the JumpCloud agent, see Install the Agent from the User Portal.

Tip:

New remote employees? No problem. You can enable remote installation of the JumpCloud agent from the User Portal, making it easy for new remote employees to install the agent on their work computers from home. See Enable Users to Install the Agent.

Prerequisites

  • A supported Linux version 
  • Local administrator with Sudo access to the system(s). 
  • An Internet connection with the ability to connect to https://agent.jumpcloud.com:443.

Manually Installing the Linux Agent

To install the Linux agent manually

  1. Log in to the JumpCloud Admin Portal: https://console.jumpcloud.com/login
  2. Go to DEVICE MANAGEMENT > Devices.
  3. Click ( + ).
  4. On the New Devices panel, select Linux
  5. Copy the Install Command. 
  6. Log in to a Linux device as an administrator. 
  7. Open the terminal, then paste and run the install command. 
  8. The installer will:
    • Check for compatibility.
    • Check to ensure the device clock is accurate.
    • Generate a private key and certificate signing request, used for secure communications with the JumpCloud.
    • Install dependencies.
    • Download the JumpCloud agent.
    • Create a “jcagent” service, which will be configured to run at boot.
    • Start the agent.

Installing the JumpCloud Agent Using Puppet

To install the Linux agent using Puppet, run the following manifest

package { ['curl', 'bash'] :
    ensure => present,  
} -> 
exec { 'agent_install' :
    command => "curl -sS -H 'x-connect-key: your-connect-key-goes-here' https://kickstart.jumpcloud.com/Kickstart| bash",
    path    => [ '/sbin', '/bin', '/usr/sbin', '/usr/bin' ],
    timeout => 600,
    creates => '/opt/jc'
}

Installing the JumpCloud Agent Using Chef

To install the Linux agent using Chef, run the following recipe

package 'curl'
package 'sudo'
package 'bash'
execute 'agent_install' do
command "curl --tlsv1.2 --silent --show-error --header 'x-connect-key: your-connect-key-goes-here' 'https://kickstart.jumpcloud.com/Kickstart ' | sudo bash"
path [ '/sbin', '/bin', '/usr/sbin', '/usr/bin' ]
timeout 600
creates '/opt/jc'
end

Installing the JumpCloud Agent Using Ansible

Note: For third-party Ansible roles, go to: https://github.com/shrikeh/ansible-jumpcloud.

To install the Linux agent using Ansible, run the following playbook:

- hosts: all
  sudo: yes
 
  tasks:
    - name: Install curl package (Debian based)
      action: apt pkg='curl' state=installed
      when: "'$ansible_pkg_mgr' == 'apt'"
    - name: Install curl package (RedHat based)
      action: yum name='curl' state=installed
      when: "'$ansible_pkg_mgr' == 'yum'"
    - name: Check if JumpCloud is already installed
      shell: "[ -d /opt/jc ] && echo 'Found' || echo ''"
      register: jc_installed
    - name: Update time
      shell: "ntpdate -u pool.ntp.org"
      when: "not jc_installed.stdout"
    - name: Install JumpCloud
      shell: "curl --header 'x-connect-key: your-connect-key-goes-here' https://kickstart.jumpcloud.com/Kickstart | sudo bash"
      when: "not jc_installed.stdout"

Verifying Linux Agent Installation from Terminal

To verify or change status in Linux from terminal, run the following command as root:

[root@host ~]# service jcagent status
jcagent.service - JumpCloud Agent
   Loaded: loaded (/usr/lib/systemd/system/jcagent.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Thu 2016-09-01 13:27:16 MDT; 3h 26min ago
     Docs: http://support.jumpcloud.com/knowledgebase
 Main PID: 890 (code=exited, status=0/SUCCESS)

Here is what the process should look like:

[root@host ~]# ps -aufx | grep jumpcloud
root      2272  0.0  0.1   3840  1292 ?        Sl   13:27   0:00 /opt/jc/bin/agent-monitor -exec=/opt/jc/bin/jumpcloud-agent -conf=/opt/jc/jcagent.conf
root      2275  0.0  1.6 682980 16400 ?        Sl   13:27   0:03  \_ /opt/jc/bin/jumpcloud-agent -conf=/opt/jc/jcagent.conf

To check the agent’s service status: 

service jcagent status

For newer devices with systemd, you can also use systemctl:

systemctl status jcagent

Verifying Linux Agent Installation from the Admin Portal

To verify the Linux Agent installation from the Admin Portal

  1. Log in to the JumpCloud Admin Portal: https://console.jumpcloud.com.
  2. Go to DEVICE MANAGEMENT > Devices.
  3. In the Devices list, the Status of the new device will have a green check mark next to it if added successfully.

Reducing Agent Install Time on Linux

On hosts that are fully up to date, installing the JumpCloud agent should take less than a minute. However, in the case of small/micro instances, where network bandwidth is limited, or where a system is out of date, you can take steps to reduce agent install time significantly.

Make sure to run on Ubuntu/Debian or RHEL/Cent/Amazon Linux, respectively:

apt-get update

or

yum check-update

After making sure the system is up to date, preinstall agent dependencies. A list of dependencies is maintained in Agent Compatibility, System Requirements, and Impacts.

Back to Top

Still Have Questions?

If you cannot find an answer to your question in our FAQ, you can always contact us.

Submit a Case