code: def authenticate(self, key_id=None, secret=None, allow_agent=False):
          
          if key_id and secret:
              self.auth = HTTPSignatureAuth(key_id=key_id, secret=secret, 
                  allow_agent=allow_agent)
docs: :param key_id: SmartDC identifier for the ssh key
          :type key_id: :py:class:`basestring`
          
          :param secret: path to private rsa key
          :type secret: :py:class:`basestring`
          
          :param allow_agent: whether or not to try ssh-agent
          :type allow_agent: :py:class:`bool`
          
          If no `key_id` or `secret` were entered on initialization, or there is
          a need to change the existing authentication credentials, one may 
          authenticate with a `key_id` and `secret`.