Thanks for bringing this up. I just learned about this after you mentioned it (thanks Google) I'm not quite sure which implementation I'd use though.

I don't really understand the cons and pros of each system but I'm leaning toward the portknocking system though because It just seems cooler to me. The main problem I think I see with that one though is that if an attacker Is sniffing traffic between the client and the server and notices that before accessing port 22 the client sent some funky packets to ports X,Y,Z and in that order then that may look very interesting to him. I'm still not decided though, this is really cool **** though, I'm going to look into it more tonight when I get home.