Skip to content

Instantly share code, notes, and snippets.

@koke
Created November 24, 2009 11:15
Show Gist options
  • Save koke/241797 to your computer and use it in GitHub Desktop.
Save koke/241797 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby -wKU
require "yaml"
if ARGV.size != 2
puts "Usage: $0 sshvpn.yml remote_host"
puts ""
puts "Config file should look like:"
puts ""
puts '---
- sport: 8881
dport: 443
addr: "192.168.100.211"
- sport: 8882
dport: 443
addr: "192.168.100.212"
'
exit
end
rhost = ARGV.pop
config = YAML.load(File.read(ARGV.pop))
args = ''
config.each do |server|
args += " -L #{server['sport']}:#{server['addr']}:#{server['dport']}"
end
system "ssh #{args} #{rhost}"
---
- sport: 8881
dport: 443
addr: "192.168.100.211"
- sport: 8882
dport: 443
addr: "192.168.100.212"
- sport: 8883
dport: 443
addr: "192.168.100.213"
- sport: 8884
dport: 443
addr: "192.168.100.214"
- sport: 8885
dport: 443
addr: "192.168.100.215"
- sport: 8886
dport: 443
addr: "192.168.100.216"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment