    # File lib/chef/knife/ssh.rb, line 85
          def session
            config[:on_error] ||= :skip
            ssh_error_handler = Proc.new do |server|
              if config[:manual]
                node_name = server.host
              else
                @action_nodes.each do |n|
                  node_name = n if format_for_display(n)[config[:attribute]] == server.host
                end
              end
              case config[:on_error]
              when :skip
                ui.warn "Failed to connect to #{node_name} -- #{$!.class.name}: #{$!.message}"
                $!.backtrace.each { |l| Chef::Log.debug(l) }
              when :raise
                #Net::SSH::Multi magic to force exception to be re-raised.
                throw :go, :raise
              end
            end

            @session ||= Net::SSH::Multi.start(:concurrent_connections => config[:concurrency], :on_error => ssh_error_handler)
          end