1. RDP Guard
Authyo Docs
  • ๐Ÿถ Walk through Authyo
  • Error Codes
  • About Pricing
  • APIs
    • Send OTP
      GET
    • Send OTP
      POST
    • Verify OTP
      GET
    • Verify Token
      POST
    • Revoke User Session
      POST
  • Web SDKs
    • JavaScript
    • PHP
    • AngularJS Examples
    • TypeScript Examples
    • React JS
    • Vue JS Examples
  • 2FA SDK
    • JavaScript
    • AngularJS Examples
    • PHP
    • React JS
    • TypeScript Examples
    • Vue JS Examples
  • Native/Mobile SDKs
    • Flutter
  • Integration
    • Google Sheet
    • Firebase
    • Authyo - Make
  • Session Management
    • Introductions
    • JWT Token
  • Notifications
    • Notifications Order
    • Notificatoin Invoice
  • RDP Guard
    • RDP Guard : Windows
    • RDP Guard : Linux (SSH)
    • RDP Guard : Step-Aside on Lapse / Deactivation
    • RDP Guard : Linux - Install & Test Guide
    • Authyo RDP Guard for Windows โ€” What's New (v1.0.63)
    • Authyo RDP Guard for Linux (SSH) โ€” What's New (v1.1.6)
  1. RDP Guard

RDP Guard : Linux - Install & Test Guide

For: anyone testing Authyo RDP Guard on a Linux server (no prior Authyo
knowledge needed). Follow the steps in order.
Covers: Ubuntu / Debian and RHEL / Rocky / Alma / Amazon Linux.
Version: 1.1.5 ย |ย  Updated: 2026-07-03


0. What this product does (30-second version)

Normally, logging into a Linux server over SSH asks for a password.
Authyo RDP Guard adds a second step: after the password, it sends a
one-time code (OTP) to a registered email/phone, and the user must enter
that code to get in. This protects the server even if someone steals the
password.

You will:

  1. Install a small package on the server.
  2. Activate it with a one-time key you copy from the Authyo website.
  3. Log in over SSH and confirm it now asks for an OTP (this proves it works).
  4. (Optional) Test "Deactivate" โ€” turning the guard off from the website makes
    the server go back to password-only login.

1. What you need before starting

Tick each box before you begin:

  • A Linux server you can log into (Ubuntu 20.04/22.04/24.04, or
    RHEL/Rocky/Alma 8/9, or Amazon Linux 2023).
  • Administrator access on that server โ€” i.e. you can run commands with
    sudo (or you are the root user).
  • Internet access from the server โ€” it must be able to reach
    app.authyo.io on the internet. (Test: run
    curl -I https://app.authyo.io โ€” you should get an HTTP/... response,
    not a timeout.)
  • An Authyo account login at https://app.authyo.io so you can copy the
    one-time key and (later) click "Deactivate".
  • An email address or phone number you can check โ€” the OTP will be sent
    there during the test. (Email is the most reliable; use that.)
  • The install file for your Linux type (your Authyo contact will give
    you the download link, or get it from the portal's RDP Guard page):
    • Ubuntu / Debian โ†’ authyo-gatekeeper_1.1.5-1_amd64.deb
    • RHEL / Rocky / Alma / Amazon Linux โ†’ authyo-gatekeeper-1.1.5-1.x86_64.rpm

โš ๏ธ GOLDEN SAFETY RULE โ€” read this once:
While testing, keep your current SSH window open and open a SECOND SSH
window
to test new logins. If anything goes wrong, your first window is
still logged in and you can undo the change. Never close your only session
during setup.


2. Which Linux do I have? (if unsure)

Run this on the server:

cat /etc/os-release | head -2
  • If it says Ubuntu or Debian โ†’ follow Path A (the .deb).
  • If it says Rocky, AlmaLinux, Red Hat, CentOS, or
    Amazon Linux โ†’ follow Path B (the .rpm).

3. Install

Copy the install file onto the server first (e.g. with scp, or download it
directly on the server with wget <link>). Then:

Path A โ€” Ubuntu / Debian (.deb)

# Go to wherever you put the file, then install it:
sudo apt-get update
sudo dpkg -i authyo-gatekeeper_1.1.5-1_amd64.deb

# If it complains about missing dependencies, this one command fixes it:
sudo apt-get install -f -y

Path B โ€” RHEL / Rocky / Alma / Amazon Linux (.rpm)

# Use dnf (or yum on older systems) โ€” NOT "rpm -i" โ€” so dependencies install too:
sudo dnf install -y ./authyo-gatekeeper-1.1.5-1.x86_64.rpm
# Older systems:
# sudo yum install -y ./authyo-gatekeeper-1.1.5-1.x86_64.rpm

Confirm it installed:

authyo-configure --version

You should see authyo-configure 1.1.5. โœ…


4. Get your one-time activation key from the website

  1. Log into https://app.authyo.io.
  2. Go to the RDP Guard page.
  3. Find (or add) the server row for this machine.
  4. Click "Get license key".
  5. A one-time key starting with ENRL- appears (e.g.
    ENRL-XA9W-FF5G-QXWS-64ET-5QNY). Click Copy.

This key is valid for 60 minutes and can be used once. If it expires,
just click "Get license key" again for a fresh one.


5. Activate the server (the easy one-key way)

On the server, run the setup wizard:

sudo authyo-configure

Answer the prompts:

  1. "Do you have an enrollment key (ENRL-...)? [Y/n]" โ†’ type y and Enter.

  2. "API endpoint" โ†’ just press Enter (it defaults to https://app.authyo.io).

  3. "Enter your enrollment key (ENRL-...)" โ†’ paste the key you copied
    (right-click to paste in most terminals), press Enter.

    • You should see: "Enrolling this machine with Authyo..." then
      "Enrolled and activated. No Client ID/Secret needed." โœ…
    • (If it says the key is invalid/expired, get a fresh one from the website
      โ€” step 4 โ€” and try again.)
  4. Contacts โ€” WHO gets the OTP (this is important, read carefully):

    • Username โ†’ type admin (this is a catch-all: it will receive the
      OTP for ANY user who logs in โ€” simplest for testing).
    • Phone or Email โ†’ type the email address you can check (e.g.
      you@example.com).
    • Channel โ†’ type 2 for Email (Email is the most reliable; SMS
      may need extra setup).
    • "Add another contact?" โ†’ type N.
  5. Security Policy โ€” press Enter to accept the defaults, EXCEPT:

    • "Trust device hours" โ†’ set to 0 (so it asks for OTP every time โ€”
      needed to see the effect during testing).
  6. "Exempt usernames" โ†’ this is a safety list of users who log in with
    password only (no OTP). Type a username you can always use as a backup, e.g.
    admin (or your own admin username). This is your lockout safety net.

  7. "Enroll Google Authenticator?" โ†’ type N (optional; skip for the
    basic test).

  8. Review the summary, then "Write this config...? [Y/n]" โ†’ type Y.

    • You'll see โœ“ Wrote /etc/authyo/gatekeeper.conf and
      โœ“ Added pam_authyo.so to /etc/pam.d/sshd. โœ…

You never typed a Client ID, Client Secret, or long license key โ€” the one
ENRL- key handled all of it. That's the point.


6. TEST IT โ€” prove the OTP now works

โš ๏ธ Keep your current window open. Do the test in a SECOND SSH window.

Open a new terminal / new SSH window and log into the server as a
normal user (not one on the exempt list). For example, from your PC:

ssh someuser@<server-ip>

What you should see:

someuser@server's password:            โ† enter the normal password
Authyo verification for someuser
OTP sent via Email to you***com.        โ† the OTP was emailed
Enter the OTP, or:
  [R] Resend (tries your next channel)
> ______                                 โ† type the code from your email
  1. Enter the password.
  2. Check the email inbox you configured โ€” an OTP code arrived.
  3. Type the code โ†’ you're logged in. โœ…

๐ŸŽ‰ That's the proof it works: login now requires the password AND an OTP.

Prefer not to use a full SSH session? You can also just run
sudo authyo-configure --test โ€” it sends a real test OTP to your contact and
confirms delivery works (note: this spends a small amount of Authyo wallet
balance).


7. (Optional) Test "Deactivate" โ€” the guard steps aside

This shows what happens when you turn the guard off for a server from the
website: it goes back to password-only login (no OTP).

  1. On the website (https://app.authyo.io โ†’ RDP Guard), find this server โ†’
    Servers โ†’ click Deactivate.
  2. Back on the server, tell it to refresh immediately (instead of waiting up to
    15 minutes):
    sudo systemctl start authyo-gatekeeper-heartbeat.service
    
  3. Open a new SSH window and log in again:
    ssh someuser@<server-ip>
    
    • Expected: it asks for the password only โ€” NO OTP โ€” and logs you in. โœ…

To turn the guard back on: re-activate the server on the website (or re-run
sudo authyo-configure with a fresh key), then run the heartbeat command again.


8. Did it work? Quick self-check

Run this to see the recent decisions the guard made:

sudo tail -n 20 /var/log/authyo/gatekeeper.log
  • A login that asked for OTP shows: SENDOTP_OK ... via=Email then GATE_PASS.
  • A stepped-aside (deactivated) login shows: GATE_STEPASIDE ... activation=deactivated.

Check overall status any time:

sudo authyo-configure --status

9. If something goes wrong (troubleshooting)

SymptomCause & fix
authyo-configure: command not foundThe package didn't install. Re-run the install step (ยง3). On .rpm, make sure you used dnf/yum, not rpm -i.
Enrollment key says "invalid / expired"The ENRL- key is one-time and lasts 60 min. Get a fresh one from the website (ยง4).
No OTP arrives during login, but it lets you in anywayThe OTP channel is misconfigured. The log shows SENDOTP_..._ERR ... invalid sender address. Re-run sudo authyo-configure and set the contact to Email with a real address. (SMS may need sender setup in Authyo.)
Login hangs or "cannot reach Authyo"The server can't reach app.authyo.io. Test: curl -I https://app.authyo.io. Fix the server's internet/firewall/DNS.
I'm locked out / OTP won't comeUse your first (still-open) SSH window, OR log in as an exempt user (ยง5 step 6, password-only). To fully undo: sudo cp /etc/pam.d/sshd.authyo-backup-* /etc/pam.d/sshd (restores the original SSH config, removing the guard).
Deactivate didn't take effectIt refreshes on a timer (up to 15 min). Force it: sudo systemctl start authyo-gatekeeper-heartbeat.service, then try logging in again.

Emergency "remove the guard completely":

sudo authyo-configure --uninstall     # unhooks pam_authyo from SSH (restores backup)

Your SSH logins go back to normal (password-only) immediately.


10. Cheat-sheet (all the commands in one place)

# Install (Ubuntu/Debian)
sudo dpkg -i authyo-gatekeeper_1.1.5-1_amd64.deb && sudo apt-get install -f -y
# Install (RHEL/Rocky/Alma/Amazon)
sudo dnf install -y ./authyo-gatekeeper-1.1.5-1.x86_64.rpm

authyo-configure --version                 # confirm 1.1.5
sudo authyo-configure                       # activate (paste ENRL key) + set contact
sudo authyo-configure --test                # send a test OTP
sudo authyo-configure --status              # show current config
sudo tail -n 20 /var/log/authyo/gatekeeper.log   # see what happened at login

# Deactivate test
sudo systemctl start authyo-gatekeeper-heartbeat.service   # force refresh now

# Undo everything
sudo authyo-configure --uninstall           # remove guard from SSH

Questions? Contact your Authyo representative. Keep your first SSH session open
while testing โ€” it's your safety net.

Modified atย 2026-07-03 05:37:43
Previous
RDP Guard : Step-Aside on Lapse / Deactivation
Next
Authyo RDP Guard for Windows โ€” What's New (v1.0.63)
Built with