Smart SSH, HTTPS and MySQL bastion that needs no client-side software
Go to file
dependabot[bot] 25250e6ad6
Bump console from 0.1.0 to 0.15.0
Bumps [console](https://github.com/mitsuhiko/console) from 0.1.0 to 0.15.0.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Changelog](https://github.com/console-rs/console/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/console/compare/0.1.0...0.15.0)

---
updated-dependencies:
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-28 23:04:35 +00:00
.cargo import 2022-04-10 22:58:58 +02:00
.github Update dependabot.yml 2022-04-28 16:03:12 -07:00
docker updated image to reflect changes as discussed per https://github.com/Eugeny/warpgate/pull/16\#issuecomment-1096799219 2022-04-12 10:33:32 -06:00
warpgate Bump console from 0.1.0 to 0.15.0 2022-04-28 23:04:35 +00:00
warpgate-admin Live session streaming - fixes #4 2022-04-24 18:23:45 +02:00
warpgate-common Live session streaming - fixes #4 2022-04-24 18:23:45 +02:00
warpgate-db-entities bumped poem - fixes #19 2022-04-13 09:29:02 +02:00
warpgate-db-migrations OTP support - fixes #14 2022-04-16 22:36:23 +02:00
warpgate-protocol-ssh OTP support - fixes #14 2022-04-16 22:36:23 +02:00
.all-contributorsrc Add @apiening as a contributor 2022-04-12 18:58:50 +02:00
.bumpversion.cfg bumpversion fix 2022-04-18 13:16:34 +02:00
.env import 2022-04-10 22:58:58 +02:00
.gitignore import 2022-04-10 22:58:58 +02:00
Cargo.lock Bump console from 0.1.0 to 0.15.0 2022-04-28 23:04:35 +00:00
Cargo.toml import 2022-04-10 22:58:58 +02:00
deny.toml import 2022-04-10 22:58:58 +02:00
justfile import 2022-04-10 22:58:58 +02:00
LICENSE Update LICENSE 2022-04-14 11:14:56 +02:00
README.md Update README.md 2022-04-23 12:29:56 +02:00
rust-toolchain.toml import 2022-04-10 22:58:58 +02:00
rustfmt.toml import 2022-04-10 22:58:58 +02:00

Warpgate

GitHub All Releases    

Warpgate is a smart SSH bastion host for Linux that can be used with any SSH client.

  • Set it up in your DMZ, add user accounts and easily assign them to specific hosts within the network.
  • Warpgate will record every session for you to replay and review later through a built-in admin web UI.
  • Not a jump host - forwards your connections straight to the target instead.
  • Single-file statically linked binary with no dependencies.
  • Written in 100% safe Rust.
image

Getting started & downloads

Project Status

The project is currently in alpha stage and is gathering community feedback. See the official roadmap for the upcoming features.

In particular, we're working on:

  • Support for exposing HTTP(S) endpoints through the bastion,
  • Support for tunneling database connections,
  • Live session view and control,
  • Requesting admin approval for sessions
  • and much more.

How it works

Warpgate is a service that you deploy on the bastion/DMZ host, which will accept SSH connections and provide an (optional) web admin UI.

Run warpgate setup to interactively generate a config file, including port bindings. See Getting started for details.

It receives SSH connections with specifically formatted credentials, authenticates the user locally, connects to the target itself, and then connects both parties together while (optionally) recording the session.

You manage the target and user lists and assign them to each other through a config file (default: /etc/warpgate.yaml), and the session history is stored in an SQLite database (default: in /var/lib/warpgate).

You can use the web interface to view the live session list, review session recordings and more.

Contributing / building from source

  • You'll need nightly Rust (will be installed automatically), NodeJS and Yarn
  • Clone the repo
  • Just is used to run tasks - install it: cargo install just
  • Install the admin UI deps: just yarn
  • Build the API SDK: just openapi-client
  • Build the frontend: just yarn build
  • Build Warpgate: cargo build (optionally --release)

Contributors

Thanks goes to these wonderful people (emoji key):


Eugeny

💻

Spencer Heywood

💻

Andreas Piening

💻

This project follows the all-contributors specification. Contributions of any kind welcome!