Могу ли я подключиться к базе данных GHTorrent MySQL / Mongodb через ssh?

#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))