“Using a remote desktop program from Google”: that sounds unsafe. But why should I trust for example TeamViewer more. At least Google Remote Desktop is much more streamlined; I don’t need those “Team” functionalities. Both TeamViewer and Google Remote Desktop use UDP hole punching in order to traverse your NAT in the “wrong” direction. That’s actually proving the statement that a NAT router (such as the one that connects your home network to the internet) is not a firewall.
Therefor my remote machine sleeps, and I have to wake her by logging in with ssh (using certificates of course) which triggers the bonjour sleep-proxy on my airport router which then sends a WOL packet that wakes the remote machine. It’s like having that second lock on the door…
Interestingly waking an OSX machine using terminal login does not fully wake the OS. That’s Apple’s (rather complex) way of saving power. As a result the Google Remote Desktop service on the remote machine does not register itself so that I can connect to it. I have to emulate “physical user” activity in order to fully wake the Mac. I’ve found solutions such as an Applescript to generate a keypress. But on Mavericks there’s actually a command that does exactly what I want: caffeinate. It’s Apple’s answer to a number of 3rd party tools with (nearly) the same name. Run caffeinate -u -t 3 and the command tells OSX that a user is active (-u) for a 3 second period (-t 3). Shortly thereafter Google’s Remote Desktop service will register and shows up alive on your local machine. Thanks Google…