Mandos is a system for allowing servers with encrypted root file systems to reboot unattended and/or remotely. See the manual for more information, including an FAQ list.

Mandos is Free Software, licensed using the GNU General Public License v3 or later.

(The Halls of Mandos is, in the fictional world of J. R. R. Tolkien, where the spirits of dead elves would go to be judged and possibly reincarnated. Similarly, the Mandos system allows “dead” servers to request reincarnation, which can be either denied or granted by the Mandos server.)

Current Status

Mandos is feature-complete; that is, it solves the problem it was created to solve. It has been included in Ubuntu ever since the Ubuntu Karmic release of October 2009, and in Debian since the Debian 6.0 “squeeze” release of February 2011. The latest versions of Mandos are uploaded to Debian unstable.

For future plans, see the TODO file.


See the manual pages below.

Architectural Overview

Keys and Communication

[Key and communication overview]

Plugin System

[Plugin system overview]

The Manual Pages

general discussion and FAQ


The network server program
Server configuration file
Another server configuration file
A command line utility to control the server
A text-based UI to the server


The plugin runner
The network client plugin
Console interactive plugin
Asks for password interactively via Plymouth.
Asks for password interactively via Usplash.
Asks for password interactively via Splashy.
Provides compatibility with the “askpass” program from the cryptsetup package.
Runner of mandos-client in systemd-based boot environments; replaces plugin-runner
Command line utility


There is a mailing list “mandos-dev”. Subscribe or read its archives at

The current maintainers can be reached at


Debian and Ubuntu

Mandos is available directly in Debian unstable and in the Ubuntu “universe” component, so to get Mandos installed in those distributions you use whatever method you normally use to select and install software packages for that distribution. There is no need to download anything from here, unless you want the latest version.

Debian stable/bullseye/11

Add these two lines to your /etc/apt/sources.list file:

deb bullseye-backports main
deb-src bullseye-backports main

The packages there will be cryptographically signed by one of the individual developers, and the package lists will be signed by an OpenPGP key with the fingerprint “153A 37F1 0BBA 0435 987F 2C4A 7223 2973 CA34 C2C4”.

To add this key to the APT key list, and avoid warnings from aptitude and others, do this:

su -c "wget -q -O /etc/apt/trusted.gpg.d/mandos.asc"

Debian oldstable/buster/10

Add these two lines to your /etc/apt/sources.list file:

deb buster-backports main
deb-src buster-backports main

(For keys, see stable/bullseye/11 above.)

Debian oldoldstable/stretch/9

Add these two lines to your /etc/apt/sources.list file:

deb stretch-backports main
deb-src stretch-backports main

To add this key to the APT key list, and avoid warnings from aptitude and others, do this:

wget -q -O - | su -c "apt-key add -"

Development Source Code

Known bugs and planned features are kept in the TODO file.

Instructions for Compiling and Installing From Source

Step 1

Check out the source code from the repository (requires the Bazaar (bzr) version control system, package name “bzr”.):

bzr branch mandos
Step 2

Build the Debian package (requires the bzr-builddeb Bazaar plugin package, package name “bzr-builddeb”):

cd mandos
bzr builddeb --builder='debuild -i -us -uc -b'

The .deb files should now be built and can be found in the parent directory.

Step 3

After installing a package, follow the instructions in the file “/usr/share/doc/package-name/README.Debian”.