class Ssh_config
Public Instance Methods
deploy()
click to toggle source
# File lib/dust/recipes/ssh_config.rb, line 4 def deploy return unless install @config = @config.deep_merge(default_config) @node.write('/etc/ssh/ssh_config', generate_ssh_config) end
Private Instance Methods
default_config()
click to toggle source
# File lib/dust/recipes/ssh_config.rb, line 20 def default_config { 'Host *' => { 'ForwardX11Trusted' => 'yes', 'SendEnv' => [ 'LANG LC_*', 'XMODIFIERS' ], 'HashKnownHosts' => 'yes', 'GSSAPIAuthentication' => 'yes', 'GSSAPIDelegateCredentials' => 'no' } } end
generate_ssh_config()
click to toggle source
# File lib/dust/recipes/ssh_config.rb, line 32 def generate_ssh_config ssh_config = '' @config.each do |key, value| # hashes are blocks, indent them if value.is_a? Hash ssh_config << "#{key}\n" value.each do |k, v| Array(v).each { |x| ssh_config << " #{k} #{x}\n" } end else Array(value).each { |x| ssh_config << "#{key} #{x}\n" } end end ssh_config end
install()
click to toggle source
# File lib/dust/recipes/ssh_config.rb, line 13 def install return @node.install_package('openssh-client') if @node.uses_apt? return @node.install_package('openssh-clients') if @node.uses_rpm? return @node.install_package('openssh') if @node.uses_pacman? false end