#python #ssh
#python #ssh
Вопрос:
Я пытаюсь подключиться к базе данных GHTorrent через ssh на python, чтобы иметь дело с данными.
Есть пример того, как этот ssh работает в командной строке, и он работает. http://ghtorrent.org/mysql.html
import pymysql
from sshtunnel import SSHTunnelForwarder
mypkey = paramiko.RSAKey.from_private_key_file("/Users/***/.ssh/id_rsa")
with SSHTunnelForwarder(
('web.ghtorrent.org', 3306),
ssh_username="ghtorrent",
ssh_pkey=mypkey,
ssh_private_key_password="*****",#my password for my pc
remote_bind_address=('web.ghtorrent.org', 3306)) as server:
conn = pymysql.connect(host='127.0.0.1',
port=server.local_bind_port,
user='ght',
passwd='',
db='ghtorrent')
Из моего кода ssh не может подключиться к серверу. Я не совсем уверен, верна ли моя информация о подключении.
Поскольку он использует имя веб-сайта, а не IP-адрес, я понятия не имею, работает ли он.
Большое вам спасибо!
Ответ №1:
Во-первых, SSH-сервер GHTorrent прослушивает порт 22, вы пытаетесь подключиться к 3306, что неверно.
Кроме того, вы пробовали просто указать путь к закрытому ключу SSH напрямую? т.е. ssh_pkey=»/Users/***/.ssh/id_rsa»
SSHTunnelForwarder(
('web.ghtorrent.org', 22),
ssh_username="ghtorrent",
ssh_pkey="/Users/***/.ssh/id_rsa",
ssh_private_key_password="*****",#my password for my pc
remote_bind_address=('web.ghtorrent.org', 3306))