code: func New(host, port, username string, sams ...ssh.AuthMethod) (*Client, error) {
  	config := &ssh.ClientConfig{
  		User: username,
  		Auth: sams,
  	}
  	client, err := ssh.Dial("tcp", BuildSSHURL(host, port), config)
  	if err != nil {
  		return nil, err
  	}
  	tmpSftpClient, err := sftp.NewClient(client)
  	if err != nil {
  		return nil, err
  	}
  	return (*Client)(unsafe.Pointer(tmpSftpClient)), err
  }
docs: // New returns a new SFTP Client
  // @host: hostname to connect to
  // @port: port on the hostname
  // @username: username to login
  // @sams: list of ssh.AuthMethod to use