code: func (a *LocalKeyAgent) UnloadKey() error {
  	agents := []agent.Agent{a.Agent}
  	if a.sshAgent != nil {
  		agents = append(agents, a.sshAgent)
  	}
  
  	// iterate over all agents we have and unload keys for this user
  	for i, _ := range agents {
  		// get a list of all keys in the agent
  		keyList, err := agents[i].List()
  		if err != nil {
  			a.log.Warnf("Unable to communicate with agent and list keys: %v", err)
  		}
  
  		// remove any teleport keys we currently have loaded in the agent for this user
  		for _, key := range keyList {
  			if key.Comment == fmt.Sprintf("teleport:%v", a.username) {
  				err = agents[i].Remove(key)
  				if err != nil {
  					a.log.Warnf("Unable to communicate with agent and remove key: %v", err)
  				}
  			}
  		}
  	}
  
  	return nil
  }
docs: // UnloadKey will unload key for user from the teleport ssh agent as well as
  // the system agent.