<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def agent_key_info_from_key_id(key_id):
 """Find a matching key in the ssh-agent. @param key_id {str} Either a private ssh key fingerprint, e.g. 'b3:f0:a1:6c:18:3b:42:63:fd:6e:57:42:74:17:d4:bc', or the path to an ssh private key file (like ssh's IdentityFile config option). @return {dict} with these keys: - type: "agent" - agent_key: paramiko AgentKey - fingerprint: key fingerprint - algorithm: "rsa-sha1" Currently don't support DSA agent signing. """

    # Need the fingerprint of the key we're using for signing. If it
    # is a path to a priv key, then we need to load it.
    if not FINGERPRINT_RE.match(key_id):
        ssh_key = load_ssh_key(key_id, True)
        fingerprint = ssh_key["fingerprint"]
    else:
        fingerprint = key_id

    # Look for a matching fingerprint in the ssh-agent keys.
    keys = Agent().get_keys()

    for key in keys:
        raw_key = key.blob


        # The MD5 fingerprint functions return the hexdigest without the hash
        # algorithm prefix ("MD5:"), and the SHA256 functions return the
        # fingerprint with the prefix ("SHA256:").  Ideally we'd want to
        # normalize these, but more importantly we don't want to break backwards
        # compatibility for either the SHA or MD5 users.
        md5_fp = fingerprint_from_raw_ssh_pub_key(raw_key)
        sha_fp = sha256_fingerprint_from_raw_ssh_pub_key(raw_key)
        if (sha_fp == fingerprint or
            md5_fp == fingerprint or
            "MD5:" + md5_fp == fingerprint):

            # Canonicalize it to the md5 fingerprint.
            md5_fingerprint = md5_fp
            break
    else:
        raise MantaError('no ssh-agent key with fingerprint "%s"' %
                         fingerprint)

    return {
        "type": "agent",
        "agent_key": key,
        "fingerprint": md5_fingerprint,
        "algorithm": ALGO_FROM_SSH_KEY_TYPE[key.name]
    }