<%- 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
PasswordAuthentication no
+Match Address <%=
+ allnodeinfo = scope.lookupvar('site::allnodeinfo')
+ dbs = []
+ allnodeinfo.keys.sort.each do |node|
+ next unless allnodeinfo[node].has_key?('ipHostNumber')
+ if allnodeinfo[node]['ipHostNumber'] =~ ":"
+ dbs << "#{allnodeinfo[node]['ipHostNumber']}/128"
+ else
+ dbs << "#{allnodeinfo[node]['ipHostNumber']}/32"
+ end
+ end
+ dbs.flatten.join(',')
+%>
+ Banner "You're coming from a debian.org host"
+
Match Group sftponly
AllowStreamLocalForwarding no
AllowTCPForwarding no