Running the rConfig-sim server
rcfg-sim is the SSH server. Each instance binds one IP and a contiguous range of ports,
reads a manifest, mmaps the configs, and serves sessions.
A foreground run
Section titled “A foreground run”./bin/rcfg-sim \ --listen-ip 127.0.0.1 \ --port-start 12000 \ --port-count 100 \ --manifest /tmp/rcfg-test/manifest.csv \ --host-key /tmp/rcfg-test/hostkey \ --metrics-addr 127.0.0.1:9100This binds ports 12000–12099 on 127.0.0.1. In production you run one instance per IP as a
systemd service instead of in the foreground.
Core flags
Section titled “Core flags”| Flag | Default | Purpose |
|---|---|---|
--listen-ip |
10.50.0.1 |
IP address to bind |
--port-start |
10000 |
First port in the contiguous range |
--port-count |
2500 |
Number of ports to bind |
--manifest |
/opt/rcfg-sim/manifest.csv |
Authoritative port→config mapping |
--host-key |
/etc/rcfg-sim/ssh_host_rsa_key |
SSH host key (generated if missing) |
--metrics-addr |
0.0.0.0:9100 |
Prometheus /metrics + /healthz address (empty disables) |
--max-concurrent-sessions |
5000 |
Cap on concurrent sessions (drain) |
--log-level |
info |
error | warn | info | debug |
See the full set, including auth, timing, and fault flags, in the CLI reference.
Credentials
Section titled “Credentials”| Flag | Default | Notes |
|---|---|---|
--username |
admin |
Currently informational — SSH auth is password-only |
--password |
admin |
Empty string accepts any password |
--enable-password |
enable123 |
Cisco enable-mode password |
These are the accepted credentials at the transport layer. Per-device credentials in the
manifest are what tools should use. How the SSH layer authenticates is controlled by
--ssh-auth.
Host keys
Section titled “Host keys”If --host-key points at a missing file, the server generates one on first start. Keep the
same key across restarts so SSH clients don’t see host-key-changed warnings.
The metrics endpoint
Section titled “The metrics endpoint”--metrics-addr serves two paths:
GET /metrics— Prometheus exposition formatGET /healthz— liveness check
Set --metrics-addr "" to disable the HTTP server entirely. See
Metrics.