From fdaed78cee8c7f2cc24c54d4a4d7ed4b7137796d Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Sun, 21 Feb 2010 15:29:10 +0100 Subject: [PATCH] Try to get sshkey --- .../templates/authorized_keys.erb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/modules/portforwarder/templates/authorized_keys.erb b/modules/portforwarder/templates/authorized_keys.erb index c9b69d86..8603558c 100644 --- a/modules/portforwarder/templates/authorized_keys.erb +++ b/modules/portforwarder/templates/authorized_keys.erb @@ -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 " + 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 -- 2.39.2