X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/3a4d52bd4c0f8e6ae7679145846b7bc7845d8ace..d626103e52cc24d2e5e0f4d67bc46be86e0f6ce9:/cookbooks/openssh/recipes/default.rb diff --git a/cookbooks/openssh/recipes/default.rb b/cookbooks/openssh/recipes/default.rb index 90ac311b6..b69a86a51 100644 --- a/cookbooks/openssh/recipes/default.rb +++ b/cookbooks/openssh/recipes/default.rb @@ -9,7 +9,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -24,34 +24,35 @@ package "openssh-client" package "openssh-server" service "ssh" do - if node[:lsb][:release].to_f >= 14.04 - provider Chef::Provider::Service::Upstart - end - action [ :enable, :start ] + action [:enable, :start] supports :status => true, :restart => true, :reload => true end hosts = search(:node, "networking:interfaces").sort_by { |n| n[:hostname] }.collect do |node| - names = [ node[:hostname] ] + names = [node[:hostname]] node.interfaces(:role => :external).each do |interface| - names |= [ "#{node[:hostname]}.openstreetmap.org" ] - names |= [ "#{node[:hostname]}.#{interface[:zone]}.openstreetmap.org" ] + names |= ["#{node[:hostname]}.openstreetmap.org"] + names |= ["#{node[:hostname]}.#{interface[:zone]}.openstreetmap.org"] end unless node.interfaces(:role => :internal).empty? - names |= [ "#{node[:hostname]}.#{node[:networking][:roles][:external][:zone]}.openstreetmap.org" ] + names |= ["#{node[:hostname]}.#{node[:networking][:roles][:external][:zone]}.openstreetmap.org"] end keys = { - "rsa" => node[:keys][:ssh][:host_rsa_public], - "dsa" => node[:keys][:ssh][:host_dsa_public] + "ssh-rsa" => node[:keys][:ssh][:host_rsa_public], # ~FC039 + "ssh-dss" => node[:keys][:ssh][:host_dsa_public] # ~FC039 } - if node[:keys][:ssh][:host_ecdsa_public] - ecdsa_type = node[:keys][:ssh][:host_ecdsa_type] + if node[:keys][:ssh][:host_ecdsa_public] # ~FC039 + ecdsa_type = node[:keys][:ssh][:host_ecdsa_type] # ~FC039 + + keys[ecdsa_type] = node[:keys][:ssh][:host_ecdsa_public] # ~FC039 + end - keys[ecdsa_type] = node[:keys][:ssh][:host_ecdsa_public] + if node[:keys][:ssh][:host_ed25519_public] # ~FC039 + keys["ssh-ed25519"] = node[:keys][:ssh][:host_ed25519_public] # ~FC039 end Hash[ @@ -63,14 +64,14 @@ end template "/etc/ssh/ssh_config" do source "ssh_config.erb" - mode 0644 + mode 0o644 owner "root" group "root" end template "/etc/ssh/ssh_known_hosts" do source "ssh_known_hosts.erb" - mode 0444 + mode 0o444 owner "root" group "root" backup false @@ -84,5 +85,5 @@ firewall_rule "accept-ssh" do source "net" dest "fw" proto "tcp:syn" - dest_ports "ssh" + dest_ports node[:openssh][:port] end