ssh provider has limit to sshtunnel  < 0.2
https://github.com/apache/airflow/blob/9d6ae609b60449bd274c2f96e72486d73ad2b8f9/setup.py#L451

I don't know why? sshtunnel  already released 0.4
I didn't open PR because I don't know this provider i just tried to install it and couldn't due to conflicts with other requirements in my system so eventually i used vitrual env to solve my problem but logging this issue so that someone who knows this code can handle it.
setup.py
"""The setuptools.Distribution subclass with Airflow specific behaviour"""
    def parse_config_files(self, *args, **kwargs) -> None:
        """
        Ensure that when we have been asked to install providers from sources
        that we don't *also* try to install those providers from PyPI.
        Also we should make sure that in this case we copy provider.yaml files so that
        Providers manager can find package information.
        """
        super().parse_config_files(*args, **kwargs)
        if os.getenv(INSTALL_PROVIDERS_FROM_SOURCES) == 'true':
            self.install_requires = [
                req for req in self.install_requires if not req.startswith('apache-airflow-providers-')
            ]
            provider_yaml_files = glob.glob("airflow/providers/**/provider.yaml", recursive=True)
            for provider_yaml_file in provider_yaml_files:
                provider_relative_path = relpath(provider_yaml_file, os.path.join(my_dir, "airflow"))
                self.package_data['airflow'].append(provider_relative_path)
        else:
            self.install_requires.extend(
                [get_provider_package_from_package_id(package_id) for package_id in PREINSTALLED_PROVIDERS]
            )
def replace_extra_requirement_with_provider_packages(extra: str, providers: List[str]) -> None: