Мне нужно получить доступ к aws rds с удаленного сервера. До сих пор у меня не было проблем с доступом к базам данных mysql из командной строки.
I s sh к серверу, например: ssh username@XX.XXX.XXXX.XX
Как только я на сервере Я использую mysql -hrds_host.amazonaws.com -uuser -ppassword
И тогда я могу вызвать sql запросов для разных баз данных из моего терминала.
Я пытался установить это соединение через python, используя туннель s sh, но не смог сделать это успешно. Я ожидаю, что код будет выглядеть примерно так:
with SSHTunnelForwarder(
(server_host, 22),
ssh_username=username,
ssh_private_key=private_key,
remote_bind_address=(rds_host, 3306)
) as server:
conn = sql.connect(host=rds_host,
port=server.local_bind_port,
user=user,
passwd=password,
db=database)
Я постоянно получаю сообщения об ошибках типа: Could not establish session to SSH gateway
или An error occurred while opening tunnels.
Уровень ведения журнала моего SSHTunnelForwardes всегда показывает ошибку.
Я также успешно установил соединение с sh .client paramiko, но не туннелем для вызова запросов.