I recently stumbled across this but within the last day I've actually implemented this successfully. A few comments first then some potential additions to the wiki are suggested.
Comments:
The luci interface along with the fwknop2 Android client are very well thought out. Kudos. The QR code snapshot to transfer keys is particularly nice.
This type of feature is what I was looking for to be comfortable opening up SSH access over WAN. Port knocking is OK but I wanted something that was at least not repeatable if sniffed. Unless I'm wrong, this is roughly equivalent to hiding OpenVPN using TLS over UDP with HMAC -- unless you initiate the handshake correctly the packets are just dropped and you can't tell there's a service listening on the port.
I agree this is a slick methodology and would like to see it gain some use (more code reviews, more bugs/vulnerabilities found/squashed, etc).
Some implementation details, and wiki fodder (these weren't obvious to me, although there's nothing fancy here -- and note that I'm running CC, not trunk):
To listen on WAN, go to System-Administration and click Add under SSH Access. Click WAN radio button, specify listening port. Check options as you intend to use them. No manual firewall steps are needed, fwknopd will take care of this. Note that there are other methods to have a single instance of dropbear listen on multiple ports, this isn't the only method.
The following comments related to the luci interface for knopd are not complete, they are in addition to (or clarification of) existing setup notes in this thread.
Under Services-Firewall Knock Daemon, change OPEN_PORTS to "tcp/<ssh_listen_port_number>" -- obviously replacing <ssh...> with the port number from the previous step, and removing the quotes.
On that same page, under fwknopd.conf options click Add and enter option "PCAP_FILTER" without quotes. This allows you to specify the port on which fwknopd is going to listen for the SPA packet. Enter "udp port <spa_listen_port_number>" to change from the default which is something like 62201. You can enter "udp dst portrange 10000-65535" if the client is going to use a random port. I have tested both of these methods with this syntax.
Once you show you can knock and ssh in, it's probably a good idea to run a port probe (from something like GRC shields up) to verify that your ssh and spa ports are invisible even when you knock. The temporary firewall rule that's added upon successful knock is IP-specific so these ports should never show open.
Hopefully these help.