<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get(name, fallback='ssh'):
 """ Retrieve the matching backend class from a string. If no backend can be matched, it raises an error. <class 'remoto.backends.BaseConnection'> <class 'remoto.backends.BaseConnection'> <class 'remoto.backends.BaseConnection'> <class 'remoto.backends.openshift.OpenshiftConnection'> """

    mapping = {
        'ssh': ssh.SshConnection,
        'oc': openshift.OpenshiftConnection,
        'openshift': openshift.OpenshiftConnection,
        'kubernetes': kubernetes.KubernetesConnection,
        'k8s': kubernetes.KubernetesConnection,
        'local': local.LocalConnection,
        'popen': local.LocalConnection,
        'localhost': local.LocalConnection,
        'docker': docker.DockerConnection,
        'podman': podman.PodmanConnection,
    }
    if not name:
        # fallsback to just plain local/ssh
        name = 'ssh'

    name = name.strip().lower()
    connection_class = mapping.get(name)
    if not connection_class:
        logger.warning('no connection backend found for: "%s"' % name)
        if fallback:
            logger.info('falling back to "%s"' % fallback)
            # this assumes that ``fallback`` is a valid mapping name
            return mapping.get(fallback)
    return connection_class