2016-06-15 22 views
8

Um mich mit dem Computer in meinem Büro verbinden zu können, muss ich ssh zweimal ausführen. Zuerst verbinden Sie sich mit dem Host-1 und dann von Host-1 mit Host-2 und jeder hat andere Anmeldeinformationen. Das Konfigurationsmenü in Pycharm akzeptiert jedoch nur einen SSH-Tunnel.PyCharm: Konfigurieren von Multi-Hop-Remote-Interpreter über SSH

Configure Remote Python Interpreter dialog box

Gibt es eine Möglichkeit, einen Multi-Hop-ssh einstellt Zugriff auf die Dolmetscher und Datendateien auf dem Host von lokalen haben?

Antwort

9

Sie können die Portweiterleitung auf ssh verwenden. Wenn lokales System ist A, der nächste ssh Hop ist B und das Ziel Hop ist C, öffnen Sie einen Terminal und führen:

ssh -L 6000:<server C IP>:22 <user_serverB>@<server B IP> 

Sie 6000 mit einem beliebigen Port ersetzen können. Jetzt können Sie den SSH-Server auf C auf einem anderen Terminal ssh in mit:

ssh -p 6000 <user_serverC>@localhost 

Denken Sie daran, nicht den ersten Anschluss zu schließen!

Das gleiche gilt für die PyCharm. Stellen Sie einfach die Remote-Interpreter-Verbindung über ssh mit folgenden Konfiguration:

  • host: localhost
  • port: 6000
  • Benutzer: user_serverC
+0

Ich versuchte dies, aber ich erhalte die folgende Fehlermeldung: 'Konnte den Inhalt von" sftp: //127.0.0.1: 9999/"nicht auflisten, weil es kein Ordner ist. – xApple

+0

was ist, wenn die Verbindung von b nach c über ssh reverse tunnel hergestellt wurde? – Nickpick