Hmm.. not quite sure, but we can fix the channel close issue and see what happens.
On a side-note, I think we should do some slight refactoring on the way scripts are invoked to take advantage of clouds. For example, on EC2 images that support userData scripts, using those would be advantageous. Also, Rackspace file injection is another win. Switching "off" using ssh where possible allows us to leverage the native features of the API and also not unnecessarily require SSH access to hosts. Moreover, once this is abstracted out, we can plug in other means to bootstrap and such, allowing hooks to let the user do things like retrying.
-Adrian