Я не могу понять (даже после прочтения нескольких статей, посвященных ssh-тюнингу), какие параметры CLI-команды ssh находятся в этом скрипте. По сути, мне нужно подключиться к какому-то серверу (я назвал его «ssh_tunnel_host: 22»), а затем подключиться к db_host, используя этот туннель.
with SSHTunnelForwarder(
('ssh_tunnel_host', 22),
ssh_username="ssh_username",
ssh_pkey="/somepath/id_rsa",
local_bind_address=('0.0.0.0', 1234),
remote_bind_address=('127.0.0.1', 3306)
) as tunnel:
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('127.0.0.1', 1234)
db_connection = pymysql.connect(host=db_host, port=3306, db='mysql', user='user',
password='password', charset='utf8mb4')
Может ли кто-нибудь объяснить мне:
- Что такое local_bind_address — это мой локальный адрес или локальные адреса ssh_tunnel_host? Где можно узнать IP и порт?
- Зависит от предыдущего вопроса - что такое remote_bind_address - это адрес ssh_tunnel_host или db_host? Где я могу узнать эти IP и порт?
- Где я должен подключиться к client.connect()? Локальная или удаленная привязка?
(Я пытался читать документы, но это все еще беспорядок)