def session_from_list(list)
list.each do |item|
Chef::Log.debug("Adding #{item}")
session_opts = {}
ssh_config = Net::SSH.configuration_for(item)
user = config[:ssh_user] || ssh_config[:user]
hostspec = user ? "#{user}@#{item}" : item
session_opts[:keys] = File.expand_path(config[:identity_file]) if config[:identity_file]
session_opts[:keys_only] = true if config[:identity_file]
session_opts[:password] = config[:ssh_password] if config[:ssh_password]
session_opts[:port] = config[:ssh_port] || Chef::Config[:knife][:ssh_port] || ssh_config[:port]
session_opts[:logger] = Chef::Log.logger if Chef::Log.level == :debug
if !config[:host_key_verify]
session_opts[:paranoid] = false
session_opts[:user_known_hosts_file] = "/dev/null"
end
session.use(hostspec, session_opts)
@longest = item.length if item.length > @longest
end
session
end