Как исправить ошибку подключения при попытке создать SSH-туннель в Python во время работы Nord VPN для Windows

#python #ssh #vpn #ssh-tunnel

Вопрос:

Возможно, это необычный вопрос, поскольку я знаю, что мой код работает!

Короче говоря, я пытаюсь создать SSH-туннель с помощью Python (используя библиотеки sshtunnel и paramiko).

Этот код отлично работает, если я отключу клиент Nord VPN для Windows, который я запускаю на своем локальном компьютере, однако (возможно, неудивительно), когда он включен, SSH-туннель не подключается.

В VPN-клиенте Nord я могу настроить раздельное туннелирование только для файлов .exe, поэтому там я могу указать SSH и вручную использовать SSH, даже когда клиент запущен.

Итак, кто-нибудь знает о работе здесь, где я могу либо обойти Nord VPN программно, либо любые другие предложения, которые могут помочь (я пробовал обычные предложения, такие как изменение протокола на OpenVPN и отключение кибербезопасности в графическом интерфейсе клиента Nord VPN)?

 
def ssh_tunnel():

    EC2_URL = IP_ADDRESS
    username = "USER_NAME"
    pem_file = 'FILE_NAME.pem'

    # Create the tunnel
    server = SSHTunnelForwarder(
        (EC2_URL, yyyy),
        ssh_username=username,
        ssh_pkey=pem_file,
        remote_bind_address=(EC2_URL, xxxx),
        local_bind_address=('xx.x.x.x', xxxx)
    )
    # Starts the tunnel
    server.start()

    # Prints the local bind port
    print(server.local_bind_port)

    # Closes the tunnel
    server.stop()
 

На всякий случай, если это поможет, вот фактическая ошибка (хотя я предполагаю, что, учитывая, что проблема известна, она может не добавить слишком много)!

 2021-04-26 18:20:54,319| ERROR   | Could not connect to gateway x.x.x.x:x : Unable to connect to x.x.x.x: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Traceback (most recent call last):
  File "xxx.py", line 284, in <module>
    ssh_tunnel()
  File "xxx.py", line 201, in ssh_tunnel
    server.start()
  File "xxxlibsite-packagessshtunnel.py", line 1331, in start
    self._raise(BaseSSHTunnelForwarderError,
  File "xxxlibsite-packagessshtunnel.py", line 1174, in _raise
    raise exception(reason)
sshtunnel.BaseSSHTunnelForwarderError: Could not establish session to SSH gateway