CRYPTSETUP-SSH(8)
β¨ CRYPTSETUP-SSH β¨
okay so bestie, you've stumbled into the cryptsetup-ssh section of the manual (that's section 8, maintenance commands, iykyk) and honestly? you're gonna slay this. let's go π
πΈ NAME πΈ
cryptsetup-ssh β literally the tool that manages the LUKS2 SSH token. that's it. that's the whole name. periodt.
π SYNOPSIS π
cryptsetup-ssh <action> [<options>] <action args>
that's the shape of it: an action, then some optional options, then whatever args that action wants. easy β¨
π¦ DESCRIPTION π¦
so this is an experimental cryptsetup plugin, right? its whole vibe is unlocking LUKS2 devices using a token that lives on an SSH server. yes, like over there on the remote machine. networking + disk encryption, iconic combo π₯
Heads up though β right now this plugin only lets you add a token to an existing keyslot. that's it. if you wanna remove, import, or export the token, go read cryptsetup(8), it's got the instructions π«Ά
π Add operation π
add <options> <device>
this adds the SSH token to <device>. super straightforward.
the SSH server you point at must have a key file sitting on the path you give it, and that file contains a passphrase for an existing keyslot on your device. then cryptsetup grabs those credentials and uses them to get the password when it opens the device with the token. cute, right? π
the options --ssh-server, --ssh-user, --ssh-keypath and --ssh-path are required for this operation. like, non-negotiable. all four. no cap π
β OPTIONS β
okay here's the full list, no skipping, every single one is coming with us π§
--debugβ shows you the debug messages. the receipts, basically.--debug-jsonβ same debug energy but with JSON metadata included. for the data girlies π--help,-?β shows the help. be nice to it and it'll be nice to you.--key-slotnumber β which keyslot the token gets assigned to. if you don't specify one, it picks the first keyslot that matches the passphrase you gave it. auto-pilot mode β¨--ssh-keypathstring β the path to the SSH key used for connecting to the remote server.--ssh-pathstring β the path to the key file on the remote server. (yes, different path, different machine, keep up bestie π)--ssh-serverstring β the IP address / URL of the remote server this token is about.--ssh-userstring β the username you use on the remote server.--verbose,-vβ shows more detailed error messages. for when you need to know exactly what went wrong π--version,-Vβ prints the program version. trivia time π
π NOTES π
okay this is the important one, so listen up: the info you provide when adding the token β the SSH server address, the user, and the paths β gets stored in the LUKS2 header in plaintext. like, plaintext plaintext. not encrypted, not hidden, just vibing there unencrypted. no cap, plan accordingly π
π AUTHORS π
the cryptsetup-ssh tool is written by Vojtech Trefny. thank you for your service π«‘π
π₯ REPORTING BUGS π₯
found a bug? don't suffer in silence, report it:
- the cryptsetup mailing list:
cryptsetup@lists.linux.dev - or the Issues project section at <https://gitlab.com/cryptsetup/cryptsetup/-/issues/new>
and bestie, please attach the output of the failed command with the --debug option added. it's giving "help me help you" and it genuinely makes everything faster π«Ά
π SEE ALSO π
- the Cryptsetup FAQ, at <https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions>
cryptsetup(8),integritysetup(8)andveritysetup(8)β the whole squad π
π§ CRYPTSETUP π§
this is part of the cryptsetup project, over at <https://gitlab.com/cryptsetup/cryptsetup/>. main character energy, honestly π
and that's the whole page, bestie! this was cryptsetup-ssh version 2.8.7, dated 2026-09-12 β go forth and unlock things π
β¨π¦
π¦ where this page comes from
- ubuntu stonking: cryptsetup-ssh 2:2.8.7-1ubuntu3 Β· GPL-2.0-or-later WITH OpenSSL exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms