h1. SSHConfig
This is a gem which allows you to programatically configure your ~/.ssh/config.
It's a bit bad, but it works.
h2. Config file
Your new file to worry about is ~/.ssh/sshconfig.
h2. ssh-update-config
The @ssh-update-config@ command will generate the ~/.ssh/config file for you. The file will be overwritten.
h2. Directives
In the block you pass to a host method, any method becomes an sshconfig directive. It's method_missing_madness!
h2. It's all ruby!
h3. So write ruby!
Methods, loops, variables; you name it.
h3. $hostlist variable
The grand list of hosts is stored in @$hostlist@. It's a @Hosts@ object. You can touch this. The @hosts {}@ method appends to this list. @$hostlist.host{}@ does the same as @hosts{host{}}@.
h2. Building
bc. gem build sshconfig.gemspec
gem install --user-install sshconfig
h2. Example
There's an example file, take a look.