X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fssh%2Ftemplates%2Fsshd_config.erb;h=15652cfdacb8bc04c543a345130d02b2a0efea87;hb=7f9dfc2720855047ffada44ed914fc3b30a41079;hp=f04ec5be92bd01adb7ae414cdf25336523e62f78;hpb=522f2015d65b253952c96696ff2a0e23581f3fb2;p=mirror%2Fdsa-puppet.git diff --git a/modules/ssh/templates/sshd_config.erb b/modules/ssh/templates/sshd_config.erb index f04ec5be9..15652cfda 100644 --- a/modules/ssh/templates/sshd_config.erb +++ b/modules/ssh/templates/sshd_config.erb @@ -4,16 +4,10 @@ ## Port 22 -<%= extraports = case @fqdn - when "paradis.debian.org" then " -ListenAddress 0.0.0.0:22 -ListenAddress [::]:22 -ListenAddress 5.153.231.31:443 -ListenAddress [2001:41c8:1000:21::21:31]:443 -" - end -extraports -%> + +<% @extraports.each do |port| -%> +ListenAddress <%= port %> +<% end -%> # Use these options to restrict which interfaces/protocols sshd will bind to Protocol 2 @@ -21,7 +15,7 @@ HostKey /etc/ssh/ssh_host_rsa_key <%- if has_variable?("has_etc_ssh_ssh_host_ed25519_key") && @has_etc_ssh_ssh_host_ed25519_key -%> HostKey /etc/ssh/ssh_host_ed25519_key <% end %> -<% if scope.function_has_role(['ssh.upload.d.o']) -%> +<% if classes.include?("roles::ssh_upload") -%> # On ssh upload hosts we have many clients doing ssh connections to us. # sshd has - by default - a limit of 10 on the number of currently # unauthenticated (or not yet authenticated) connections. Raise that limit. @@ -45,26 +39,31 @@ Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes -AuthorizedKeysFile /etc/ssh/userkeys/%u /var/lib/misc/userkeys/%u /etc/ssh/userkeys/%u.more +AuthorizedKeysFile /etc/ssh/userkeys/%u /var/lib/misc/userkeys/%u /etc/ssh/userkeys/%u.more /etc/ssh/puppetkeys/%u PasswordAuthentication no -#Match Address <%= - allnodeinfo = scope.lookupvar('site::allnodeinfo') - dbs = [] +<%= + allnodeinfo = scope.lookupvar('deprecated::allnodeinfo') + out = '' + settings = '# Banner "You are coming from a debian.org host."' allnodeinfo.keys.sort.each do |node| next unless allnodeinfo[node].has_key?('ipHostNumber') - allnodeinfo[node]['ipHostNumber'].each do |ipnum| - if ipnum =~ ":" - dbs << "#{ipnum}/128" + out += "# Match Address " + out += allnodeinfo[node]['ipHostNumber'].collect do |ipnum| + if ipnum =~ /:/ + "#{ipnum}/128" else - dbs << "#{ipnum}/32" + "#{ipnum}/32" end - end + end.join(',') + out += " # #{node}" + out += "\n" + out += settings + out += "\n\n" end - dbs.flatten.join(',') + out %> -# Banner "You're coming from a debian.org host" Match Group sftponly AllowStreamLocalForwarding no