DEHYDRATED(1)

πŸ“¦
version 0.7.2 Β· 2 versions
, in arch rolling, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

πŸ’§ dehydrated(1) β€” the general commands manual, but make it a vibe

okay so bestie, welcome to dehydrated(1), the general commands manual entry for dehydrated, and honestly? she's iconic. sit down, grab a strawberry, we're doing this. πŸ“


✨ NAME ✨

dehydrated β€” an ACME client that is literally implemented as a shell-script. no cap. a whole certificate authority client, in shell. main character energy fr fr. πŸ’…


🌈 SYNOPSIS 🌈

dehydrated [command [argument]] [argument [argument]] ...

πŸ’– DESCRIPTION πŸ’–

So. dehydrated is a client for ACME-based Certificate Authorities, like LetsEncrypt. That's the whole thing β€” you use it to request and obtain TLS certificates from an ACME-based certificate authority. slay. πŸ”₯

Before you can request any certificates, Dehydrated needs to acquire an account with the Certificate Authorities. Optionally, you can provide an email address β€” it'll be used to, like, notify you about expiring certificates and stuff. You'll usually need to accept the Terms of Service of the CA. Dehydrated will notify you if no account is configured, so don't be surprised. Run with --register --accept-terms to create a new account. periodt.

Next up: all your domain names have to go in domains.txt. The format is line based, okay? So if the file contains two lines, "example.com" and "example.net", dehydrated will request two certificates β€” one for "example.com" and the other for "example.net". But a single line containing "example.com example.net" will request a single certificate valid for both "example.net" and "example.com" through the Subject Alternative Name (SAN) field. two lines = two certs, one line = one cert, it's giving very straightforward actually.

For the next step, you need to configure one way of verifying domain name ownership. Dehydrated implements http-01 and dns-01 verification. πŸ¦‹

The http-01 verification provides proof of ownership by providing a challenge token. In order to do that, the directory referenced in the WELLKNOWN config variable needs to be exposed at http://{domain}/.well-known/acme-challenge/, where {domain} is every domain name specified in domains.txt. Dehydrated does not provide its own challenge responder β€” it relies on an existing web server to provide the challenge response. See wellknown.md for configuration examples of popular web servers. iykyk.

The dns-01 verification works by providing a challenge token through DNS. This is especially interesting for hosts that cannot be exposed to the public Internet. Because adding records to DNS zones is oftentimes highly specific to the software or the DNS provider at hand, there are many third party hooks available for dehydrated. See dns-verification.md for hooks for popular DNS servers and DNS hosters. πŸ’œ

Finally, the certificates need to be requested and updated on a regular basis. This can happen through a cron job or a timer. Initially, you may enforce this by invoking dehydrated -c manually. no shame in a manual little run, we've all been there. 🫢

After a successful run, certificates are stored in /etc/dehydrated/certs/{domain}, where {domain} is the domain name in the first column of domains.txt. πŸ“


πŸŽ€ OPTIONS πŸŽ€

Commands

  • --version, -v β€” Print version information. the "who even am i" flag.
  • --register β€” Register account key.
  • --account β€” Update account contact information.
  • --cron, -c β€” Sign/renew non-existent/changed/expiring certificates. the daily driver, the moment, the ritual.
  • --signcsr, -s path/to/csr.pem β€” Sign a given CSR, output CRT on stdout (advanced usage). ooh advanced, look at you. πŸ‘‘
  • --revoke, -r path/to/cert.pem β€” Revoke specified certificate. bye bestie πŸ’€
  • --cleanup, -gc β€” Move unused certificate files to archive directory.
  • --help, -h β€” Show help text.
  • --env, -e β€” Output configuration variables for use in other scripts.

Parameters

  • --accept-terms β€” Accept CAs terms of service. yes, you have to actually do this.
  • --full-chain, -fc β€” Print full chain when using --signcsr.
  • --ipv4, -4 β€” Resolve names to IPv4 addresses only.
  • --ipv6, -6 β€” Resolve names to IPv6 addresses only.
  • --domain, -d domain.tld β€” Use specified domain name(s) instead of domains.txt entry (one certificate!). ⚠️ note the "one certificate!" β€” it's not playing.
  • --keep-going, -g β€” Keep going after encountering an error while creating/renewing multiple certificates in cron mode. resilience queen. πŸ’ͺ
  • --force, -x β€” Force certificate renewal even if it is not due to expire within RENEW_DAYS.
  • --no-lock, -n β€” Don't use lockfile (potentially dangerous!). > bestie. the word "dangerous" is right there. πŸ™ˆ
  • --lock-suffix example.com β€” Suffix lockfile name with a string (useful for use with -d).
  • --ocsp β€” Sets option in CSR indicating OCSP stapling to be mandatory.
  • --privkey, -p path/to/key.pem β€” Use specified private key instead of account key (useful for revocation).
  • --config, -f path/to/config β€” Use specified config file.
  • --hook, -k path/to/hook.sh β€” Use specified script for hooks.
  • --out, -o certs/directory β€” Output certificates into the specified directory.
  • --challenge, -t [http-01|dns-01] β€” Which challenge should be used? Currently http-01 and dns-01 are supported.
  • --algo, -a [rsa|prime256v1|secp384r1] β€” Which public key algorithm should be used? Supported: rsa, prime256v1 and secp384r1.

πŸ” DIAGNOSTICS πŸ”

The program exits 0 if everything was fine, 1 if an error occurred. that's it, that's the whole mood system. ✨


πŸ› BUGS πŸ›

Please report any bugs that you may encounter at the project web site https://github.com/dehydrated-io/dehydrated/issues. found a bug? tell the internet. we love accountability. πŸ¦‹


πŸ’œ AUTHOR πŸ’œ

Dehydrated was written by Lukas Schauer. This man page was contributed by Daniel Molkentin. kings, honestly. πŸ‘‘


Copyright 2015-2018 by Lukas Schauer and the respective contributors. Provided under the MIT License. See the LICENSE file that accompanies the distribution for licensing information. legal besties stay winning. 🌸


πŸ‘€ SEE ALSO πŸ‘€

Full documentation along with configuration examples are provided in the docs directory of the distribution, or at https://github.com/dehydrated-io/dehydrated/tree/master/docs. go read it, it's giving informative. πŸ’–


and that's the whole page bestie!! this was the Dehydrated ACME Client man page, dated 2018-01-13, from the DEHYDRATED(1) of it all. go get those certificates, you absolute icon. πŸ’…βœ¨πŸŽ€