KEA-SHELL(8)

πŸ’– KEA-SHELL(8) β€” the little text client that talks to your Kea servers πŸ’–

okay bestie, gather round, because kea-shell is literally the REST client for the Kea kea-dhcp4, kea-dhcp6, and kea-dhcp-ddns servers and it's giving ✨command-line glamour✨. (iykyk πŸŽ€)


πŸ¦‹ SYNOPSIS πŸ¦‹

kea-shell [-h] [-v] [--host] [--port] [--path] [--ca] [--cert] [--key]
[--auth-user] [--auth-password] [--auth-password-file] [--timeout]
[--service] [command]

no cap, that's the whole vibe up top πŸ‘‘


🌸 DESCRIPTION 🌸

so kea-shell hands you a REST client for the Kea kea-dhcp4, kea-dhcp6 and kea-dhcp-ddns servers. back in the day it was made for the Control Agent (CA) daemon, but lowkey that thing is deprecated now, so… moving on πŸ’…

it takes commands as a command-line parameter, and then sends them to the Kea server with proper JSON encapsulation β€” like, it wraps them up all cute before shipping them off 🎁. optional arguments? you can drop those on the standard input, no biggie. the request goes out over HTTP, a response comes back, and it gets displayed on the standard output. periodt. πŸ’–

also: basic HTTP authentication and HTTPS (that's TLS transport, for the uninitiated 🧚) are both supported. we love a secure queen πŸ”₯


πŸ‘‘ ARGUMENTS πŸ‘‘

the arguments are as follows, bestie, read them all, don't skip πŸ™ˆ

  • -h β€” shows you the help for all the command-line parameters. your bestie when you're lost 🫢
  • -v β€” prints the Kea version. flex the number πŸ’…
  • --host β€” which host to connect to. the Kea server has to actually be running there, okay? if you don't specify it, 127.0.0.1 is used. 🏠
  • --port β€” which TCP port to connect to. the server must be listening on it. if you don't specify, 8000 is the default. πŸ”Œ
  • --path β€” the path in the URL you're connecting to. not specified? then an empty path is used. since Kea servers listen at the empty path, this one's only really useful with a reverse proxy. πŸ›£οΈ
  • --ca β€” the file or directory name of the Certification Authority. if you don't specify it, HTTPS is just… not used. no TLS for you 😭
  • --cert β€” the file name of the user end-entity public key certificate. heads up: if you specify this, you also have to specify the user key file name. they're a package deal, fr fr πŸŽ€
  • --key β€” the file name of the user key file. same deal, bestie: if you specify this, you also have to specify the user certificate file name. and ngl, encrypted key files are not supported πŸ’€
  • --auth-user β€” the user ID for basic HTTP authentication. if you don't specify it, or you specify it as the empty string, authentication just isn't used. πŸ™…β€β™€οΈ
  • --auth-password β€” the password for basic HTTP authentication. if you don't specify it but you did specify a user ID, an empty password gets used. and if you use it together with --auth-password-file, this one gets disregarded β€” it's giving ignored, actually 😌
  • --auth-password-file β€” a text file whose first line holds the password for basic HTTP authentication. this flag takes precedence over the --auth-password flag. she's the main character, she wins πŸ‘‘
  • --timeout β€” the connection timeout, in seconds. default is 10. ⏰
  • --service β€” (Obsolete) okay so the Kea kea-dhcp4, kea-dhcp6 and kea-dhcp-ddns servers ignore this argument entirely, it was meant for talking to the deprecated Control Agent daemon. if you're on Kea version < 2.7.2 though: it specifies the service that's the target of a command. if you don't specify it, the Control Agent itself is the target. you can use it more than once to hit multiple targets at the same time 🎯
  • command β€” the command to send to the server. if you don't specify one, list-commands is used. the default, the classic, the icon πŸ’–

πŸ“š DOCUMENTATION πŸ“š

Kea ships with an extensive Kea Administrator Reference Manual that covers literally every aspect of running the Kea software β€” compilation, installation, configuration, configuration examples, and so much more, no cap πŸ“–βœ¨

Kea also has a Kea Messages Manual, which lists all the possible messages Kea can print, each with a brief description. both documents come in various formats (.txt, .html, .pdf) with the Kea distribution. the Kea documentation lives at https://kea.readthedocs.io 🌈

Kea source code is documented in the Kea Developer's Guide, available at https://reports.kea.isc.org/dev_guide/ 🧚

and the Kea project website is at https://kea.isc.org 🏑


🫢 MAILING LISTS AND SUPPORT 🫢

there are two public mailing lists for the Kea project, bestie:

  • kea-users (kea-users at lists.isc.org) β€” for Kea users πŸ’œ
  • kea-dev (kea-dev at lists.isc.org) β€” for Kea developers, prospective contributors, and other advanced users πŸ”₯

both lists are available at https://lists.isc.org. and the community provides best-effort support on both of those lists β€” so be nice, be patient, be grateful πŸ₯Ί

ISC also provides professional support for Kea services. see https://www.isc.org/kea/ for the details πŸ‘‘


⭐ HISTORY ⭐

the kea-shell was first coded in March 2017 by Tomek Mrugalski. a legend, honestly, we stan 🌟


πŸ’« SEE ALSO πŸ’«

kea-dhcp4(8), kea-dhcp6(8), kea-dhcp-ddns(8), kea-ctrl-agent(8), kea-admin(8), keactrl(8), perfdhcp(8), kea-lfc(8), Kea Administrator Reference Manual πŸ“š


🌈 AUTHOR 🌈

Internet Systems Consortium

2019-2025, Internet Systems Consortium


okay that's the whole page, bestie!! this was Kea version 3.0.4, dated Oct 05, 2026, and yes the footer said KEA-SHELL(8) too because she's consistent like that πŸ’…βœ¨ go forth and list-commands, mwah πŸ˜˜πŸ’–

πŸ“¦ where this page comes from