SSH Access To A Pogoplug

An Eccentric Anomaly: Ed Davies's Blog

Perspective

The other day I bought a Pogoplug to use as an always-on home server. I had no intention of using the official software at all but rather planned to install Debian GNU/Linux immediately. In the process I found a little gotcha not mentioned in the otherwise-excellent instructions (alternative) I was following, quite possibly because it's new behaviour implemented since those were written.

To put the matter in context, in the late 1970s, when I was at college, the computer science department had an IBM 370/135 mainframe as its main computer. This had 384 KiB of RAM and 500 MiB of hard disk online at one time. The Pogoplug plus a 1 TB Hitachi USB drive I picked up in Tesco in Carlisle as a bit of an impulse buy (I'd been thinking about it on the motorway earlier in the day but only intended to buy some fruit juice and stuff when I walked into the store) cost me less than £100 but has about 600 times the memory and processor speed of that IBM mainframe and 2000 times the available disk capacity.

Keeping that in mind I'll forgive how pink it is:

SSH

When I first set the Pogoplug up I could SSH into it as root using the default password ('ceadmin') without any problems. This was on a temporary LAN in my office. I then moved it downstairs next to my ADSL router and, in the process, did a bit of reorganization of my LAN IP subnets. SSH to the Pogoplug wouldn't work and it took me a while to work out that it wasn't just my LAN changes involved.

I think that Cloud Engines, the manufacturers of the Pogoplug, have been very sensible in the way they've set up SSH access. It's quite refreshing that they seem to be reasonably open to people hacking around with their hardware, unlike many manufacturers. What it appears happens is that out of the box the Pogoplug is open to SSH access. Once it connects to the Internet, though, it talks to their services which results in SSH being disabled - not a bad default for an internet-facing box for which most users won't want SSH. If you do want SSH access you have to register for their services and specifically turn it back on (setting a new password). This is no real problem but is a bit of faff you might otherwise want to avoid.

What I would suggest is that if you want to immediately change operating systems on your Pogoplug you disconnect from the Internet before you first plug it in (e.g., pull the ADSL cable or whatever from your router). SSH in and killall hbwd as suggested in the step 0 here. Once that's done I would guess that it's OK to reconnect to the Internet for the following steps.

Node.js

I've now installed Debian and various associated packages with no real problems. The only thing which has been a bit awkward is node.js for which Stack Overflow has a pretty helpful answer. I'd already installed a few packages but one I'd add to the list required there is g++ (doh!). I'll have to look into a bit more is SSL support (for https access) - I've installed the openssl package but still seem to have some missing (though not fatally so) headers. I've tried package names like libssl and libssl-dev but get messages about them not being available. Humph, something for later.

Update 2011-11-29: Node (strictly the V8 JavaScript engine under Node) on the ARM processor has a bug where the Date object doesn't work properly. Apparently it's fixed in later versions but I and others can't get those to compile which is a bit tedious. Bug report.

Further update: 2012-03-29. Actually, I documented how to do the compile here: Node Version 6 on the Pogoplug.