HOWTO: Control your Mac remotely with your iPhone


Last week I went out of town and while I was gone there were a couple of TV shows I wanted to keep current with but wouldn’t be able to see them when they aired, so I decided to improvise a solution so I could watch them. At some point in the future, I plan on getting a SlingBox Solo ($160) and the SlingBox player for the iPhone (~$30) but that’s a $200 solution I’m not ready to invest in. I figured I could think of a cheaper way. I wished to download a TV show from Usenet. I could set up an RSS reader to grab the NZB’s and feed them to SABnzbd or I could write some scripts. Since I haven’t done either yet, I decided I’d rather just connect to my server remotely. My requirements were to open a secure connection to my desktop so I could manipulate it remotely. I decided to go with VNC for this. VNC technology has been in use for at least a decade and allows you to control a desktop from a remote computer. In addition, we’ll be tunneling VNC over SSH so that we are not sending sensitive information in the clear.

Software needed: Tomato (not necessary but it’s what I use), iSSH for iPhone ($5.99), ORB Live for iPhone ($9.99), ORB for OSX, and Vine Server for OSX. Total software investment $15.98. All figures in US dollars. Optionally, I would recommend an NZB provider (I use nzbmatrix), SABnzbd, and a web browser.

On your Mac

Step 1: Install Vine Server for OSX OSX already includes a built-in VNC server however I like the look and feel of an external OSX VNC server. Vine server is free, lightweight, and what I’m used to in other OS’es. You can pretty much go with the defaults, even going so far as to skip the encryption (for now). I also like to set a password for VNC. With our setup, someone from the outside would still need a password to access it if you didn’t set one here, though anyone on your local LAN could then access your desktop without a password if you don’t set one here. Download Vine from here.

Vine Server Preferences

Vine Server Preferences

Vine Server Main Window

Vine Server Main Window

Step 2: Enable SSH access on your Mac Rather than have VNC provide encryption, we’re going to tunnel our VNC through SSH. The easiest way to accomplish this is to go into System Preferences->Internet & Wireless->Sharing->Remote Login and enable it as shown in the images below.

OSX System Preferences

OSX System Preferences

Enabling SSH in OSX

Step 3: Install Orb on OSX Download Orb here. Once you’ve installed Orb, you’ll want to go into Control Panel->Media Sources and configure the location of your library. I’ve stuck with the defaults.

ORB Preferences

ORB Preferences

ORB Library Preferences

ORB Library Preferences

On your iPhone

Step 4: Install iSSH for iPhone iSSH can be downloaded through iTunes for your iPhone. Step 5: Install ORB Live on the iPhone On your router

Step 6: Allow SSH in from the Internet From your home router’s port forwarding administration screen, allow incoming traffic (TCP) on port 22 to your Mac. How often and from where you allow this is up to you. I simply connect to a secure URL from my phone and enable the access only when I need it.

Tomato Port Forwarding configuration

Tomato Port Forwarding configuration

On your iPhone

Step 7: Use iSSH You’ll want to create a default connection. Mine is called “Home VNC”.

iSSH Configuration

iSSH Configuration

Enter your home network’s external hostname (assuming use of a service like DynDNS) and your user name.

More iSSH configuration options

More iSSH configuration options

Put in the IP of your local (i.e. non-routable) VNC server in the VNC host section. Optionally, you can save your password here if you like (I don’t).

VNC configuration in iSSH

VNC configuration in iSSH

Once you’re done, try connecting. The app will first open an SSH tunnel …

iSSH opening an SSH tunnel

iSSH opening an SSH tunnel

You’ll then be prompted for your SSH password (the same password you use on your Mac when you login).

iSSH asking for SSH credentials

iSSH asking for SSH credentials

You’ll then enter the password you set up in Vine for VNC access …

iSSH asking for VNC credentials

iSSH asking for VNC credentials

The app will then complete the connection.

iSSH completing VNC login

iSSH completing VNC login

End Result

The interface for iSSH’s VNC client is pretty straightforward. As seen in the images above, you have a virtual mouse on the lower left of the screen and a translucent keyboard on the right. It was very easy to access my desktop, fire up a browser, search and download an NZB, load it into SABnzbd, and reindex ORB. After that, I could stream my content either to a computer or to my iPhone directly. Once I was done downloading, but before streaming the content, I logged into my router and closed the SSH port forwarding.

Conclusion

While I wouldn’t use this iPhone VNC access to do any serious or intensive tasks, it was a snap to login and perform some relatively minor and familiar tasks. Being able to stream fresh content is great alternative to carrying the content locally and provides a cheaper alternative to using a SlingBox/SlingPlayer combo.

Comments are closed.