Did I mention that I use two-factor authentication?
Show me another Remote Desktop software that enforces two-factor authentication.
That's 4 factor :)
Pain to remember, but it's definitely secure.
That's one-factor authentication.
Two-factor means you need two things, not just the passwords, but for instance also a device.
You mentioned a remote key, so yes, it sounds like you have two-factor. But not four.
Fair point about the keylogger. I didn't consider that - it's not my network to worry about :)
Hole punching _can_ work, but again, it's exploiting implementation quirks in NAT devices and isn't a general solution (though it might do pretty well).
The only standard way (AFAIK) to open up NAT is via UPNP, which the client software (and NAT device) needs to support. The client then talks to the NAT device and tells it to port forward. It seems pretty common nowaday, and is more elegant and secure than the hacky "poke around and see what works" implementations.
Note the date, things are very different now.