Ошибка подключения к виртуальной машине Compute Engine через ssh в локальном скрипте Python - PullRequest
0 голосов
/ 07 марта 2019

В данный момент я застрял, надеясь, что кто-то может дать понимание.Я могу подключиться через терминал на Mac к моей удаленной виртуальной машине Compute Engine с этим: ssh -N -L 8888:127.0.0.1:80 -i ~/.ssh/id_rsa bitnami@Remote-IP

Затем я могу войти в систему с моим именем пользователя и паролем без проблем, здесь: http://127.0.0.1:8888/phpmyadmin/

Теперь, когда я пытаюсь подключиться через Python, я не смог обойти эту ошибку: sshtunnel.BaseSSHTunnelForwarderError: Could not establish session to SSH gateway

А вот код Python:

import paramiko
from sshtunnel import SSHTunnelForwarder

with SSHTunnelForwarder(
    ('Remote-IP', 22),
    ssh_username='bitnami',
    ssh_pkey=('~/.ssh/id_rsa'),
    ssh_password='Machine Password',
      """
      I do not have an ssh password
      but I encounter a different error if I don't provide
      any password or if I remove ssh_password completely
      """
    remote_bind_address=('127.0.0.1', 80),
    local_bind_address=('127.0.0.1', 8888)
) as tunnel:
    client = paramiko.SSHClient()
    client.load_system_host_keys()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect('127.0.0.1', 8888)
    # do some operations with client session
    client.close()

print('FINISH!')

Я использовалBitnami для установки Concrete5 на Compute Engine, который включает MySQL. Инструкции Битнами не предоставили никакой ясности.Я использую Pipenv, и у меня установлен Python 3.6.5, который является последней совместимой версией для sshtunnel.

...