SSH-Frontière

Restricted SSH login shell in Rust — a single, secure entry point for all incoming SSH connections.

SSH-Frontière replaces a Unix account's default shell (/bin/bash) with a program that validates every command against a declarative TOML configuration before executing it.

GitHub


Why SSH-Frontière?

Secure by default — No command runs without being explicitly authorized. Deny by default, no shell, no injection possible.

Simple to deploy — A ~1 MB static binary, one TOML file, one line in /etc/passwd. No daemon, no service to manage.

Flexible — Three access levels (read, ops, admin), visibility tags, a structured header protocol. Compatible with AI agents, CI/CD runners, and maintenance scripts.

Auditable — Every command executed or denied is logged in structured JSON. 399 cargo tests + 72 E2E SSH scenarios.


Use cases


At a glance

LanguageRust (static musl binary, ~1 MB)
LicenseEUPL-1.2 — European Union Public License
Tests399 cargo + 72 E2E SSH + 9 fuzz harnesses
Dependencies3 direct crates (serde, serde_json, toml)
ConfigurationDeclarative TOML
ProtocolText headers over stdin/stdout, JSON responses

Getting started

Overview

Discover SSH-Frontière: what it is, why it exists, how it works

read more →

Security

Security model, guarantees, and limitations of SSH-Frontière

read more →

Architecture

Technical design of SSH-Frontière: language, modules, protocol, dependencies

read more →

Alternatives

Comparison of SSH-Frontière with existing SSH control solutions

read more →

FAQ

Frequently asked questions about SSH-Frontière

read more →

Contribute

How to contribute to SSH-Frontière: process, requirements, conventions

read more →