sshign(1)

πŸ“¦ version 0.2.1, in alpine 3.24

πŸ’… sshign(1) β€” the manual, but make it make sense

okay so real talk, this is sshign, from section 1 of your General Commands Manual, and it is genuinely one of the cutest little tools ever: it signs stuff and verifies stuff using your SSH keys. no new keypairs, no drama, no "please install a whole PKI bestie" β€” you literally already have the keys. slay. πŸŽ€


✨ NAME ✨

sshign β€” sign and verify data using SSH keys

like… that's it. that's the whole vibe. your existing SSH keys, but making promises about data. πŸ’–


🌸 SYNOPSIS 🌸

sshign secret-key-file < data-to-sign > signature

sshign public-key-file signature-file < data-to-verify

read it like a lil recipe, okay? first form = signing mode (secret key in, signature out). second form = verifying mode (public key + signature in, data on stdin). you got this. 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

πŸ”₯ signing (the "make a signature" era)

To generate a signature, call sshign secret-key-file.

It reads the data from stdin and computes the signature using the private SSH key in secret-key-file, then prints the resulting signature to stdout in text format. text format!! readable!! no weird binary blob situation. iconic behavior, honestly. ✨

🌈 verifying (the "is this legit or nah" era)

To verify a signature, call sshign public-key-file signature-file.

It reads data from stdin and checks the signature in signature-file against the public SSH key in public-key-file.

and here's the part where you pay attention because it's doing numbers:

  • returns with exit code 0 on successful verification βœ…
  • returns with exit code 1 in case of failed verification ❌
ngl those exit codes are the whole personality for scripting. 0 = she ate. 1 = bestie, that signature did not match. check your exit status, always. πŸ’…

πŸ“ EXAMPLES πŸ“

signing πŸ’–

$ echo "This is my message" > sign-me.txt
$ ./sshign ~/.ssh/id_rsa < sign-me.txt > signature.txt

look at that redirect game. data goes in from the file, signature comes out into signature.txt, zero mess. we love a clean pipeline. 🌸

verification πŸ‘‘

$ ./sshign ~/.ssh/id_rsa.pub signature.txt < sign-me.txt
verify: ok

and there it is β€” verify: ok β€” the four most reassuring characters in this whole manpage. print it, frame it, put it on your fridge. πŸŽ€


πŸ‘‘ AUTHORS πŸ‘‘

Maintained by Thomas Renoth <minus@mnus.de>.

up-to-date sources can be found at https://git.sr.ht/~minus/sshign, and bugs/patches can be submitted by email to ~minus/public-inbox@lists.sr.ht.

so like… found a bug? email it. got a patch? email that too. the maintainer literally handed you the inbox. respect the hustle. πŸ™ˆ


okay that's the whole page bestie, go sign something. πŸ’œ

β€” this has been the sshign(1) gloss, dated 2026-10-14, straight from the sshign(1) page in your General Commands Manual. no cap, that's the source and version, mwah. πŸ’‹

πŸ“¦ where this page comes from