2016-12-15 3 views
-2

Für ein Projekt muss ich auf einen localhost Apache-Server eines Computers (host_C) von meinem Computer (host_A) über einen anderen Computer (host_B) alle mit zugreifen ssh. Ich habe versucht, einen SSH-Tunnel für den Zugriff zu tunZugriff auf localhost von Host C, von Host A, über Host B mit ssh

Host host_C 
ProxyCommand ssh [email protected]_B -W %h:%p 

So:

ssh [email protected]_C 

mit diesem in meiner .ssh/config Datei: using

habe es mir gelungen, bereits host_C mit Host_A über Host_B zu verbinden der lokale Webserver von host_C in meinem Browser unter der Adresse http://localhost:8080 mit diesem Befehl:

Als ich http://localhost:8080/ verbinden es nicht und sagt funktioniert im Terminal: von dort an host_C zu bekommen

debug1: Connection to port 8080 forwarding to host_C port 80 requested. 
debug1: channel 4: new [direct-tcpip] 
+0

„es funktioniert nicht“ In welcher Art und Weise funktioniert es nicht? Die Debug-Nachrichten zeigen an, dass die Verbindung weitergeleitet wird. Welches Problem hast du an diesem Punkt? Seien Sie detailliert und spezifisch. – Kenster

+0

Es ist alles das Terminal sagt mir. Mein Browser ist bei "Warten auf localhost" hängen geblieben. – tomatediabolik

Antwort

0

Sie eine Verbindung zu B und zu versuchen: 80 - Port 80 auf die öffentliche Adresse von host_C . Wenn Ihr Server nur auf localhost auf C hört, wird das nicht funktionieren - Sie müssen eine Verbindung zu C mit ssh herstellen und an localhost: 80 weiterleiten. So etwas wie

ssh -L 8080:localhost:80 [email protected]_C -N 

sollte es tun, vorausgesetzt, Sie zu host_C verbinden können

+0

Auf host_A sagt der Befehl 'ssh -L 8080: host_C: 80 benutzername_host_B @ host_B -N' mir' Lokale Verbindungen zu LOCALHOST: 8080 weitergeleitet zur entfernten Adresse host_C: 80' Dann Auf host_C sagt mir der Befehl 'ssh -L 80: localhost: 80 benutzername_host_C @ host_C -N -v' 'Lokale Verbindungen zu LOCALHOST: 80 an die entfernte Adresse 127.0.0.1: 80' weitergeleitet. Ich kann auf Terminal von host_A sehen, dass eine Verbindung weitergeleitet wird, aber nichts auf dem Terminal von host_C und der Browser ist immer noch bei "Warten auf localhost" fest. – tomatediabolik

+0

'-L 80: localhost: 80' macht keinen Sinn, da localhost: 80 an localhost: 80 in einer Schleife weitergeleitet wird - und sollte fehlschlagen, wenn Sie bereits einen Server auf localhost: 80 haben –