class Chef::Knife::Ssh

def session

def session
  ssh_error_handler = Proc.new do |server|
    if config[:on_error]
      # Net::SSH::Multi magic to force exception to be re-raised.

      throw :go, :raise
    else
      ui.warn "Failed to connect to #{server.host} -- #{$!.class.name}: #{$!.message}"
      $!.backtrace.each { |l| Chef::Log.debug(l) }
    end
  end
  @session ||= Net::SSH::Multi.start(concurrent_connections: config[:concurrency], on_error: ssh_error_handler)
end