How-To: Download the EZSSH Client

Download and install the EZSSH client on Windows, macOS, Linux, or WSL to get started with passwordless SSH authentication and just-in-time SSH certificate access.

How to Download and Install the EZSSH Client

The following steps will guide you through the process of downloading and installing the EZSSH client on your machine. The EZSSH client is available for Windows, macOS, and Linux.

Prerequisites for Installing and Using EZSSH

Before you can use the EZSSH client, make sure you have completed the following steps:

  1. You have registered the Keytos Entra ID application
  2. You have created an EZSSH plan

Download and Install the EZSSH Client

Select your operating system below to download the EZSSH client for your platform.

Download and Install EZSSH for Windows

The ezssh command line tool is available as a standalone Windows installer (MSI).

Open the installer and follow the installation steps. The ezssh command will be added to your PATH, and you can start using it in a new terminal window.

Download and Install EZSSH for macOS

The ezssh command line tool is available as a standalone package for macOS. To install it:

  1. Download the EZSSH Package for your CPU architecture:

  2. Unzip the package.

  3. Open Terminal and navigate to the ezssh folder you just unzipped.

  4. Run the installation script to install the ezssh command to your system. This will copy the ezssh binary to /usr/local/bin and make it available in your PATH.

    sudo sh Install-ezssh.sh
    

You can now start using the ezssh command in a new terminal window.

Download and Install EZSSH for Linux

The ezssh command line tool is available as a standalone package for Linux. To install it:

  1. Download the EZSSH Package for your CPU architecture:

  2. Unzip the package.

  3. Open Terminal and navigate to the extracted folder.

  4. Either directly run the ezssh binary from the extracted folder, or copy it to your bin directory to make it available in your PATH. See the sample script below for an example of how to do this.

    #!/usr/bin/env bash
    set -euo pipefail
    
    # Pick one:
    URL="https://download.keytos.io/Downloads/Linux/ezssh_linux-x64.tar.gz"
    # URL="https://download.keytos.io/Downloads/Linux/ezssh_linux-arm64.tar.gz"
    
    WORKDIR="$HOME/tools/ezssh"
    INSTALL_DIR="$HOME/.local/bin"
    
    mkdir -p "$WORKDIR"
    mkdir -p "$INSTALL_DIR"
    
    cd "$WORKDIR"
    
    echo "Downloading EZSSH package..."
    curl -fL "$URL" -o ezssh.tar.gz
    
    echo "Extracting..."
    tar -xzf ezssh.tar.gz
    
    # Find the extracted top-level folder
    EXTRACTED_DIR="$(find . -mindepth 1 -maxdepth 1 -type d | head -n 1)"
    cd "$EXTRACTED_DIR"
    
    # Find the ezssh binary
    EZSSH_BIN="$(find . -type f -name ezssh | head -n 1)"
    
    if [[ -z "$EZSSH_BIN" ]]; then
      echo "Error ezssh binary not found"
      exit 1
    fi
    
    echo "Installing ezssh to $INSTALL_DIR..."
    cp "$EZSSH_BIN" "$INSTALL_DIR/ezssh"
    chmod +x "$INSTALL_DIR/ezssh"
    
    # Add to PATH if not already there
    if ! echo "$PATH" | grep -q "$INSTALL_DIR"; then
      echo "Adding $INSTALL_DIR to PATH..."
    
      # Detect shell config file
      if [[ -n "${ZSH_VERSION:-}" ]]; then
        SHELL_RC="$HOME/.zshrc"
      else
        SHELL_RC="$HOME/.bashrc"
      fi
    
      echo "export PATH=\"$INSTALL_DIR:\$PATH\"" >> "$SHELL_RC"
      echo "Added to $SHELL_RC"
      echo "Run: source $SHELL_RC"
    else
      echo "$INSTALL_DIR already in PATH"
    fi
    echo "=======================================================================================" 
    
    echo "ezssh installed! Restart your terminal and try running: 'ezssh help' to get started." 
    

Download and Install EZSSH for WSL

EZSSH runs inside WSL using the standard Linux binary, with a few extra setup steps to wire up the SSH agent and the credential store that EZSSH requires.

  1. Download the Linux x64 package to your Windows Downloads folder: Linux x64

    Your Windows Downloads folder is accessible from WSL at /mnt/c/Users/<YourName>/Downloads/.

  2. Extract the binary and make it executable:

    mkdir -p ~/.local/bin
    tar -xvzf /mnt/c/Users/<YourName>/Downloads/ezssh_linux-x64.tar.tar -C ~/.local/bin
    chmod +x ~/.local/bin/ezssh
    
  3. Add the following to the bottom of ~/.bashrc:

    # Make ezssh available on the command line
    export PATH="$HOME/.local/bin:$PATH"
    
    # Start the SSH agent if one isn't already running
    if [ -z "$SSH_AUTH_SOCK" ]; then
        eval "$(ssh-agent -s)" > /dev/null
    fi
    
    # Start the gnome-keyring daemon (required for ezssh credential storage)
    if [ -n "$DISPLAY" ]; then
        if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
            eval $(dbus-launch --sh-syntax --exit-with-session) 2>/dev/null
        fi
        KEYRING=$(gnome-keyring-daemon --start --components=secrets 2>/dev/null)
        [ -n "$KEYRING" ] && export $KEYRING
    fi
    
  4. Install the required system packages:

    sudo apt install libicu-dev xdg-utils libsecret-tools gnome-keyring dbus-x11 -y
    
  5. Restart WSL by running the following command in a Windows PowerShell or Command Prompt window, then reopen your WSL distro:

    wsl --shutdown
    
  6. Run ezssh login to authenticate.

You should now have the ezssh command available in your terminal. You can verify the installation by running:

> ezssh

EZSSH is a tool that allows you to easily connect to your SSH endpoints.

  interactive, i, explore, e    This command helps you explore and request
                                access to your assets.
  certificate, cert             This command requests certificate, adds it to
                                ssh-agent and returns the path of the new
                                certificate
  ssh                           This command requests certificate and connects
                                you to your ssh endpoint
  batchSSH, batchssh            SSH this command requests certificate and
                                connects you to all ssh endpoints in the CSV
                                file
  git                           authenticates you into GitHub and sends the
                                GitHub Command passed
  logout                        Logs you out of all your accounts, if you want
                                to only log out of specific account pass the
                                username with the -u flag
  help                          Display more information on a specific command.
  version                       Display version information.

How to Use the EZSSH Client

You can now use the EZSSH client to connect to your SSH endpoints with passwordless authentication. The EZSSH client provides a simple and intuitive interface for managing your SSH connections and certificates.

Learn How to Use the EZSSH Client with Our Video Guide

Check out our video guide to learn how to use the EZSSH client to connect to your SSH endpoints with passwordless authentication.

Check Out Our Guides on Each of the EZSSH Features

Our documentation provides detailed guides on how to use each of the features of the EZSSH client. Check out the links below to learn more about each feature:

  1. Interactive Mode
  2. SSH to an Endpoint
  3. Connect to Multiple Endpoints at Once
  4. Access GitHub