## ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. ## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git ## Port 22 <%= extraports = case @fqdn when "paradis.debian.org" then " ListenAddress 0.0.0.0:22 ListenAddress [::]:22 ListenAddress 209.87.16.68:443 ListenAddress [2607:f8f0:614:1::1274:68]:443 " end extraports %> # Use these options to restrict which interfaces/protocols sshd will bind to Protocol 2 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 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. MaxStartups 100:30:200 <% end %> LogLevel VERBOSE # Authentication: PermitRootLogin without-password ChallengeResponseAuthentication no PrintMotd no #MaxStartups 10:30:60 AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes 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 X11Forwarding no ForceCommand internal-sftp