X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/7b9ec4b60ee39614d1d083d7220e76b07d2b275f..75c5da85dcd5a6b5b66040dfd838c2bbf30ba4d5:/cookbooks/openssh/recipes/default.rb diff --git a/cookbooks/openssh/recipes/default.rb b/cookbooks/openssh/recipes/default.rb index 59c8fe7d8..9eca4a5ba 100644 --- a/cookbooks/openssh/recipes/default.rb +++ b/cookbooks/openssh/recipes/default.rb @@ -24,46 +24,50 @@ package "openssh-client" package "openssh-server" service "ssh" do - action [ :enable, :start ] - if node[:lsb][:release].to_f >= 10.04 - supports :status => true, :restart => true, :reload => true - else - supports :restart => true, :reload => true - end + action [:enable, :start] + supports :status => true, :restart => true, :reload => true end -hosts = search(:node, "networking:interfaces").sort_by do |node| - node[:hostname] -end.collect do |node| - names = [ node[:hostname] ] +hosts = search(:node, "networking:interfaces").sort_by { |n| n[:hostname] }.collect do |node| + 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], # ~FC039 + "dsa" => node[:keys][:ssh][:host_dsa_public] # ~FC039 + } + + 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 Hash[ :names => names.sort, :addresses => node.ipaddresses.sort, - :rsa => node[:keys][:ssh][:host_rsa_public], - :dsa => node[:keys][:ssh][:host_dsa_public] + :keys => keys ] 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