Transparent SSH and Telnet bastion for managing users, hosts, ACLs, and logged sessions
- Stars1.9k
- Forks141
- Open Issues81
Apache-2.0
- Go
- Mustache
- Makefile

About sshportal
sshportal is a transparent SSH bastion server for giving users access to hosts without requiring SSH client changes or custom ssh config. It separates users from hosts, supports temporary user invitations, and can connect to remote servers with keys or passwords.
It includes host, user, key, ACL, role, and group management, plus an interactive admin shell. SSH compatibility covers scp, rsync, sftp, local, remote, and dynamic forwarding, ssh-agent, X11 forwarding, IPv4, IPv6, and Git use cases. Sessions can be inspected through active connections, history, stats, stop controls, audit logs, TTY recording, and tunnel logging.
sshportal runs as a single autonomous binary with no runtime dependencies, and Docker is the recommended deployment path. It stores configuration and logs in SQLite3 by default or MySQL, and can run multiple stateless instances against the same MySQL database.
Key features
- Transparent SSH bastion with no SSH client modifications
- User invites, multiple user keys, roles, groups, and ACLs
- Connects to remote hosts using SSH keys or passwords
- Session history, active connection controls, audit log, and TTY recording
- scp, rsync, sftp, tunnels, ssh-agent, X11 forwarding, and Telnet support
Details
- First released
- 2017
- Self-hosting
- Single binary · Docker recommended
- Platforms
- Linux · macOS · Docker
- Database
- SQLite3 · MySQL
- Scaling
- Stateless with shared MySQL
- Audit
- Audit log · TTY records · tunnel logs
