Second attempt at split sshd settings
[mirror/dsa-puppet.git] / modules / ssh / templates / sshd_config.erb
index 8463fe6..32be972 100644 (file)
@@ -49,16 +49,25 @@ AuthorizedKeysFile /etc/ssh/userkeys/%u /var/lib/misc/userkeys/%u /etc/ssh/userk
 
 PasswordAuthentication no
 
-Match Address <%=
+<%=
   allnodeinfo = scope.lookupvar('site::allnodeinfo')
-  dbs = []
+  out = ''
+  settings = '#  Banner "You are coming from a debian.org host."'
   allnodeinfo.keys.sort.each do |node|
       next unless allnodeinfo[node].has_key?('ipHostNumber')
-      dbs << allnodeinfo[node]['ipHostNumber']
+      out += "# Match Address # #{node}"
+      out += allnodeinfo[node]['ipHostNumber'].collect do |ipnum|
+          if ipnum =~ /:/
+              "#{ipnum}/128"
+          else
+              "#{ipnum}/32"
+          end
+      end.join(',')
+      out += "\n"
+      out += settings
   end
-  dbs.flatten.join(',')
+  out
 %>
-  Banner "You're coming from a debian.org host"
 
 Match Group sftponly
   AllowStreamLocalForwarding no