Of Dropbear, Busybox, and passwordless SSH
Little frustrates me more than a projects inability to properly document itself. You might think that this is something which is limited to the few pundits such as myself and that most people who report on technology don’t have such issues. I beg to differ. I have conferred with a number of my colleagues and confirmed that this is an ongoing issue. Of course, this is not a rant regarding documentation, or its lack thereof, in the open source community, but of a particular issue.
I could, without question, rage on about the rampant apathy amongst so-called community support boards when regular contributors are faced with an issue they are unfamiliar with or that a coder believes they have satisfied the burden of documentation by installing a wiki, but just pointing out these related issues will remain sufficient. I speak instead of the lack of simple documentation of configuring a passwordless SSH client session in Dropbear inside of Busybox.
The situation is simple. I’ve been testing VMware’s pleasant ESXi virtualization platform and have started to look into associated projects and management tools. One such tool is OpenQRM, what appears to be a very promising open source project which was born of commercial roots. It employs PHP and MySQL for its web-based interface and has a rather extensive plug-in architecture which supports, among a host of others, VMware’s ESX/ESXi. In order for OpenQRM to see these servers, however, I must enable passwordless SSH.
Enabling SSH itself was simple, as I can follow instructions and they were easy to find. I should note that the free version of ESXi, which we are testing, does not include the console in the same way that ESX does, but it is there and it is unsupported. It turns out that SSH in ESXi is handled by Dropbear, and open source SSH client and server. The console session itself is provided by the small and annoying Busybox, which appears Unix-like, but isn’t.
It might surprise you to learn that I’m not a programmer, and beside that point, I’d be shocked if even programmers could figure out how to use a command line tool without having some kind of documentation. This is a failing I see over and over again in open source, and its a huge blockade to the overall adoption potential for the platform. There’s no question that Linux is powerful and capable. Android and Ubuntu prove that handily, but those development teams have spent a lot of time and money creating unified experiences which don’t exist by default in the Linux world.
So, without documentation and the lack of access to the developer of Dropbear, how can I get done what I need to get done? I’ve posted my query on several different sites/forums and have combed the web for any hint of information about how to do this and I get either nothing or something for OpenSSH which doesn’t work for Dropbear.
Why would VMware choose to compile Dropbear into ESXi instead of OpenSSH then? Its not like its a component of Busybox. They could have just as easily compiled OpenSSH into it and I might have been able to move forward from this issue. For now I’ll have to set this rather important project aside and work on other projects, most of which are not open source. I find that a shame, really. I want to promote open source as I feel its critical to the technological growth of society, but if the open source community doesn’t want anyone to know how to use their stuff, we’re going to keep having adoption issues.
On the other hand, if open source continues to allow groups like Nokia (Maemo), Google (Android), and IBM (Foundation Server) build closed, inaccessible tool sets which perch legally on top of the GPLed Linux kernel then big business will have found the loophole around the GPL and will eventually kill open source dead. RedHat does it. SugarCRM does it. Novell bought SuSE and kind of does it. These huge companies are going to eventually lock everyone out of usable Linux. Do we really want that?




