Rackius 2.0 is out · what's new

Every server in your rack,
from boot to shell.

A desktop app and command line for the management controllers in your servers. Remote consoles, virtual media, power, event log, sensors, serial console and SSH, all from one host list. The vendors' console protocols are spoken natively, in Rust: no Java applet, browser plugin or vendor web page in the way.

Free and open source (AGPL-3.0) · Linux, macOS, Windows · v2.0.0

The Rackius host list: groups with routes and credentials, and host cards showing status, power, tags and a live console thumbnail
7BMC firmware families, detected automatically
0Java applets, browser plugins or ipmitool installs
1host list for consoles, power, media and terminals

What it does

One window for the whole rack.

Remote consoles in tabs

Video, keyboard and mouse for every supported family. Paste as keystrokes, Ctrl+Alt+Del behind a confirmation, a stats bar with resolution, frame rate, bitrate and round trip, screenshots and pop-out windows. A console someone else holds is asked for, not seized.

Virtual media

Mount a local ISO, or an image at an HTTP(S) URL, as a USB CD on the server. Rackius always connects to the BMC and serves the image itself, so it works behind NAT and over one-way routes.

Power and BMC reset

Through each family's own path, always behind a confirmation that names the machine.

Event log and sensors

Over Redfish where the BMC has it and IPMI where it does not. IPMI (RMCP+) is built in; no ipmitool needed.

Serial and SSH terminals

The server's serial console through its BMC (IPMI Serial over LAN, always encrypted), and SSH to its operating system, with host-key pinning, find, logging to a file and paste preview.

Host inventory

Groups with their own credentials and routes, tags, CSV import, discovery, live status and power, and console previews taken from the BMC's own screenshot, so looking costs no console session.

Routes

Reach BMCs through a SOCKS5 proxy or an SSH jump host, chained if need be, per host or per group. A broken route is an error, never a silent fallback to a direct connection.

Detection

Rackius identifies a BMC's family, generation and brand with unauthenticated probes, and picks the right protocol by itself.

A look around

Consoles and shells, side by side.

A console tab, with its toolbar and stats bar

A console tab, with its toolbar and stats bar.

Screenshots are of the app on its built-in mock data; hosts and addresses are placeholders.

Supported BMCs

Seven firmware families, detected automatically.

The family is the firmware and decides the protocol; the brand on the box only decides the name and logo in the list. AMI's firmware in particular is sold under many names.

FamilyTypical hardwareConsoleVirtual mediaPower & BMC resetSerial (IPMI SOL)
ATENSupermicro X9, X10, X11, X12YesYesYesSession verifiedoutput and typing not yet
AMI MegaRAC GoAheadQuanta and other AMI boardsYesYesYesSession verifiedoutput and typing not yet
AMI MegaRAC SP-XASRock Rack, Lenovo TSM, ASUS, and moreYesYesYesSession verifiedoutput and typing not yet
HP iLO 4ProLiant Gen8, Gen9YesYesYesSession verifiedoutput and typing not yet
Dell iDRAC 9PowerEdge 14G and laterYesneeds the eHTML5 console plug-inYesYesNot verified
Dell iDRAC 8PowerEdge 13GYesYesYesNot verified
Avocent MergePointGigabyte, Dell PowerEdge CYesYesYesNot verified

"Verified" means checked against a real BMC of that family. The protocol notes say exactly what was checked, on what, and what was not. In particular:

  • Through a route, no family has been verified yet: SOCKS5 and SSH routes are tested only against a fake proxy and an in-process SSH server.
  • SSH terminals are tested only offline so far.
  • mount-url (the BMC fetching an image from this machine) is implemented for iLO and iDRAC but was never exercised end to end. Use mount, the default.
  • iLO 4 has no screenshot endpoint, so its console preview is taken on request by opening the console for a moment; AMI and Dell PowerEdge C have none at all.

Command line

Runs where there is no desktop.

rackius with no arguments opens the app; everything else runs headless. A command that changes a BMC or takes one of its sessions holds that host while it runs, so the app and a script cannot trip over each other.

Routes are a SOCKS5 proxy or an SSH jump host, or a chain of them. A host takes the route of the nearest group that names one, unless it names its own. Jump-host keys are pinned on first use.

rackius --help
# consoles, power and media
$ rackius power on compute-01
$ rackius mount ubuntu-24.04.iso compute-01
$ rackius preview compute-01 shot.ppm

# IPMI, built in
$ rackius ipmi compute-01 sensors
$ rackius ipmi compute-01 sel
$ rackius ipmi compute-01 sol    # ~. leaves

# the server's own SSH
$ rackius ssh compute-01 uptime

# routes, chained
$ rackius route add jump-a ssh ops@203.0.113.10 --agent
$ rackius route add lab-socks socks5 198.51.100.7:1080 --via jump-a
$ rackius route group "Site A" jump-a
$ rackius route test jump-a 192.0.2.13

Changelog

What's new.

Read the full history in CHANGELOG.md.

Install

Download Rackius 2.0.0.

Each release has one installer per platform, holding the app and the rackius command, plus the command on its own for scripting, and SHA256SUMS.

Ubuntu 22.04 or newer. apt pulls in WebKitGTK and the rest of what the app needs. The bare command needs only glibc 2.35 and OpenSSL 3.

sudo apt install ./rackius_2.0.0_amd64.deb

For a bare binary, rackius install adds a launcher entry and icon.

Coming from bmc-kvm 1.x? Rackius is the same project under a new name. The Linux package and the Windows installer replace a bmc-kvm install; on macOS, delete bmc-kvm.app yourself. The first start copies your hosts, routes, settings and saved secrets from the old configuration directory, which is left in place.

Before you start

Read this first.

Every protocol here is reverse-engineered from the vendors' own clients, without their documentation or blessing. A mistake, or firmware that reacts badly to a client it did not expect, may crash a BMC, wedge it until it is reset, or even brick it. Use Rackius at your own risk, and try it on a machine you can afford to lose access to before one you cannot.

No guarantee of full capability with any IPMI or BMC. Support varies by vendor, firmware version and model, and a listed family may behave differently, or not work at all, on hardware or firmware that was not tested.

Saved passwords and route secrets are stored in plain text in the configuration directory (mode 0600). Treat it like an SSH key.