Tell
Dead simple SSH access using what's already available.
First...
Did you know you can do this?
$ ssh server1 -- git pull
The command above will connect to server1 (assuming you have something like that in your SSH config (~/.ssh/config) and execute git pull upon connecting.
What this does?
It wraps that command and makes it convenient to execute mutiple commands at once.
Example:
$ tell server1 -c "git pull" -c "rake cdn:update" -c "thin restart"
You can also execute commands against multiple servers.
$ tell server1 server2 -c "ls"
Within Ruby?
require "tell"
tell = Tell.new(["server1"]) do
execute "git pull"
execute "rake cdn:update"
execute "thin restart"
end
tell.run