Я пытаюсь использовать SSHTunnelForwarder.Я получаю сообщение об ошибке "IP не является строкой (NoneType)".Если я правильно понимаю, это означает, что переменная хоста, которую я передаю, имеет тип NoneType и должна иметь тип String.Распечатка типа переменных показывает, что он имеет тип string:.
Я обобщил данный код.Смотрите ниже:
def connectToClient(client):
key, host = getClientInfo(client)
# Both of the below print statements return <class 'str'>
print(type(key))
print(type(host))
try:
with SSHTunnelForwarder(
ssh_username = "username",
ssh_private_key = key,
remote_bind_address = (host, 22)) as server:
# Do stuff here
except Exception as e:
# Handle exception
Stack Trace (отредактировано, чтобы скрыть информацию о файловой системе и имя файла .py. Также тестирование с 0.0.0.0):
Traceback (most recent call last):
File "/path/to/file/myPythonFile.py", line 83, in connectToClient
remote_bind_address = ('0.0.0.0', 22)) as server:
File "/path/to/file/lib/python3.6/site-packages/sshtunnel.py", line 908, in __init__
check_host(self.ssh_host)
File "/path/to/file/lib/python3.6/site-packages/sshtunnel.py", line 79, in check_host
type(host).__name__
AssertionError: IP is not a string (NoneType)
Я бы хотел указатьчто даже если я заменю переменную хоста строкой, содержащей IP-адрес (т. е. «127.0.0.1»), я все равно получу ту же ошибку.
Возможно, я делаю простую ошибку.Есть идеи?
Редактировать: Исправить форматирование и добавить трассировку стека