Skip to content

Repository files navigation

Jump Server Scripts

Bash scripts for managing a Linux SSH jump server — installation, user management, SSH key rotation, and connection helpers.

Scripts

Script Description
jump.sh Full installer: PAM session monitoring, idle timeout, multi-platform alerts (Telegram / Mattermost / Discord)
connect-server.sh Shared SSH connection menu (all jump_users group members)
connect-server-secure.sh Connection menu with role-based access control
useradd.sh Simple interactive user creation
secure_useradd.sh User creation with role selection, password policy, SSH key generation, and audit log
ssh_key_manager.sh Generate, distribute, and rotate SSH keys

Quick Start

# 1. Install jump server monitoring (PAM hooks, alert config, systemd)
sudo bash jump.sh

# 2. Configure alerts (edit after install)
sudo $SCRIPT_DIR/config_alerts.sh set TELEGRAM_TOKEN 'your-token'
sudo $SCRIPT_DIR/config_alerts.sh set TELEGRAM_CHAT_ID 'your-chat-id'
sudo $SCRIPT_DIR/config_alerts.sh test

# 3. Add users
sudo bash secure_useradd.sh          # interactive TUI
# or
sudo bash useradd.sh                 # quick single-user create

# 4. Manage SSH keys
sudo bash ssh_key_manager.sh         # interactive TUI

Server List Config

The shared server list is /etc/bastion_servers.conf, owned root:jump_users with mode 664. Members of jump_users can add/edit entries; root manages the file itself.

Format: name|user|host|added_by

Requirements

  • Ubuntu 20.04 / 22.04 / 24.04
  • jq, curl, fail2ban — auto-installed by jump.sh

License

MIT

About

SSH jump server scripts — user management, key rotation, interactive connection menu

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages