]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
Try to get sshkey
authorPeter Palfrader <peter@palfrader.org>
Sun, 21 Feb 2010 14:29:10 +0000 (15:29 +0100)
committerPeter Palfrader <peter@palfrader.org>
Sun, 21 Feb 2010 14:29:10 +0000 (15:29 +0100)
modules/portforwarder/templates/authorized_keys.erb

index c9b69d867e1b65d5ec4b3b5642e90cc6ac84cbdc..8603558cd68cd3b5e9b579c4fed284307bcace02 100644 (file)
@@ -1,4 +1,15 @@
 <%=
+def getportforwarderkey(host)
+       key = nil
+       begin
+               facts = YAML.load(File.open("/var/lib/puppet/yaml/facts/#{host}.yaml").read)
+               return facts.values['portforwarder_key']
+       rescue Exception => e
+       end
+       return key
+end
+
+
 lines = []
 config = YAML.load(File.open('/etc/puppet/modules/portforwarder/misc/config.yaml').read)
 config.each_pair do |sourcehost, services|
@@ -7,18 +18,16 @@ config.each_pair do |sourcehost, services|
                ##lines << "# targethost is #{service['target_host']}, my hostname #{hostname}, fqdn is #{fqdn}"
                next if service['target_host'] != fqdn
 
-               sshkey = nil
+               sshkey = getportforwarderkey(sourcehost)
                remote_ip = keyinfo[sourcehost][0]['ipHostNumber'].join(',')
                forward_to_port = service['target_port']
                local_bind = '127.0.0.2'
 
                lines << "# from #{sourcehost} on local port #{service['source_bind_port']}"
-               if remote_ip.nil? or forward_to_port.nil? or local_bind.nil?
-               #if sshkey.nil? or remote_ip.nil? or forward_to_port.nil? or local_bind.nil?
+               if sshkey.nil? or remote_ip.nil? or forward_to_port.nil? or local_bind.nil?
                        lines << "# insufficient config values"
                else
-                       #lines << "from=\"#{remote_ip}\",command=\"/bin/nc -s #{local_bind} 127.0.0.1 #{forward_to_port}\",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding #{sshkey}"
-                       lines << "#from=\"#{remote_ip}\",command=\"/bin/nc -s #{local_bind} 127.0.0.1 #{forward_to_port}\",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding <sshkey here>"
+                       lines << "from=\"#{remote_ip}\",command=\"/bin/nc -s #{local_bind} 127.0.0.1 #{forward_to_port}\",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding #{sshkey}"
                end
        end
 end