code: func buildDataSignedForAuth(sessionId []byte, req userAuthRequestMsg, algo, pubKey []byte) []byte {
  	data := struct {
  		Session []byte
  		Type    byte
  		User    string
  		Service string
  		Method  string
  		Sign    bool
  		Algo    []byte
  		PubKey  []byte
  	}{
  		sessionId,
  		msgUserAuthRequest,
  		req.User,
  		req.Service,
  		req.Method,
  		true,
  		algo,
  		pubKey,
  	}
  	return Marshal(data)
  }
docs: // buildDataSignedForAuth returns the data that is signed in order to prove
  // possession of a private key. See RFC 4252, section 7.