X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fssh%2Ftemplates%2Fsshd_config.erb;h=870f16fa68f99c58c2a7b19a7f0026ebb23fd3fe;hb=d0c098685b92334a611a0c596a35f538b95ead47;hp=4b591fef09a111965b7853c6c3c60a347c76e2dc;hpb=30d3ea60c1ff398ef4bdb2d37e669d819a757ee9;p=mirror%2Fdsa-puppet.git diff --git a/modules/ssh/templates/sshd_config.erb b/modules/ssh/templates/sshd_config.erb index 4b591fef0..870f16fa6 100644 --- a/modules/ssh/templates/sshd_config.erb +++ b/modules/ssh/templates/sshd_config.erb @@ -21,7 +21,14 @@ 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 %> -UsePrivilegeSeparation yes +<% if scope.function_has_role(['ssh.upload.d.o']) -%> +# 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. +MaxStartups 100:30:200 +<% end %> + +LogLevel VERBOSE # Authentication: PermitRootLogin without-password @@ -38,10 +45,32 @@ 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 +<%= + 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') + out += "# Match Address " + out += allnodeinfo[node]['ipHostNumber'].collect do |ipnum| + if ipnum =~ /:/ + "#{ipnum}/128" + else + "#{ipnum}/32" + end + end.join(',') + out += " # #{node}" + out += "\n" + out += settings + out += "\n\n" + end + out +%> + Match Group sftponly AllowStreamLocalForwarding no AllowTCPForwarding no