new (Net::SSH::Transport::Session)

    # File lib/net/ssh/transport/session.rb, line 77
            def initialize( host, options={} )
              @saved_message = nil
              @session_id = nil
              @host = host

              yield self

              invalid_options = options.keys - VALID_OPTIONS

              unless invalid_options.empty?
                raise ArgumentError,
                  "invalid option(s) to #{self.class}: #{invalid_options.inspect}"
              end

              @logger.debug "connecting" if @logger.debug?

              @port = options[ :port ] || @default_port
              @socket = timeout( options[:timeout] || 0 ) do
                ( options[:proxy] || @socket_factory ).open( host, @port )
              end

              @packet_sender.socket = @socket
              @packet_receiver.socket = @socket

              @kex_info = {
                :client_version_string => self.class.version,
                :server_version_string =>
                  @version_negotiator.negotiate( @socket, self.class.version ) }

              @options = options
              kexinit
            end