Ich benutze Ubuntu als Desktop- und Server-Betriebssystem. Wenn ich über ssh
on am Server angemeldet bin terminal
und eine Webseite (localhost) auf dem Server anzeigen muss, verwende ich w3m ( w3m localhost
).
Leider ist w3m nicht so einfach zu handhaben, da die Seite einige große Menüs enthält und jQuery verwendet. Ich frage mich also, ob es möglich ist, einen Browser auf meinem Desktop zu verwenden, um über SSH mit einem echten Browser (Firefox oder Chrome) eine Verbindung zum Server herzustellen.
Grundsätzlich müsste eine Verbindung mit einem Browser auf meinem Desktop über SSH mit username
und zum Server hergestellt password
und auf diesem Server geöffnet werden localhost
.
Ist dies standardmäßig möglich oder gibt es Add-Ons für Firefox / Chrome? Ich würde Firefox bevorzugen.
quelle
Antworten:
Verwenden Sie die SSH-Portweiterleitung.
Stellen Sie eine Verbindung zum Remote-Server her:
Zeigen Sie nun mit Ihrem lokalen Browser auf localhost: 8080. Es sollte an localhost: 80 auf dem Remote-Server weitergeleitet werden.
quelle
TEIL 1
Machen Sie einen Socken-Proxy mit ssh!
Öffnen Sie nun Ihre Firefox-Einstellungen und gehen Sie zu Erweitert> Netzwerk> Einstellungen. Wählen Sie Manuelle Proxy-Konfiguration. Setzen Sie localhost für den SOCKS-Host und 9999 für den Port. Testen Sie es unter http://whatismyip.org oder einer ähnlichen Website.
Da Sie angegeben haben, dass Sie versuchen, auf eine Webseite bei localhost (relativ zu Ihrem Server) zuzugreifen, möchten Sie localhost und 127.0.0.1 möglicherweise nicht von der Verwendung des Proxys ausschließen. Natürlich können Sie auch nur die lokale IP des Servers verwenden.
Wenn Ihnen meine Erklärung nicht gefällt, haben diese Links mein Gedächtnis beim Schreiben verändert:
http://linux.die.net/man/1/ssh
http://embraceubuntu.com/2006/12/08/ssh-tunnel-socks-proxy-forwarding-secure-browsing/
https://calomel.org/firefox_ssh_proxy.html
TEIL 2
Der Fehler, den Sie bekommen haben,
channel 3: open failed: connect failed: Connection refused
hat absolut nichts mit ssh zu tun. Anscheinend versuchen Sie, auf ein MySQL-Ding zuzugreifen. Dies ist eine zusätzliche Herausforderung, da MySQL standardmäßig den Zugriff von SSH-Tunneln blockiert. Ich mache kein MySQL, also weiß ich nicht, wovon ich für den Rest spreche. Ich zitiere nur die relevanten Teile des Links am Ende, die Sie lesen sollten.Öffnen Sie /etc/mysql/my.cnf und suchen Sie den Abschnitt [mysqld]. Wenn Sie eine Zeile "Skip-Networking" sehen, kommentieren Sie diese. Fügen Sie "bind-address = 127.0.0.1" hinzu (natürlich ohne Anführungszeichen).
http://www.debuntu.org/port-forwarding-and-channel-3-open-failed-connect-failed-Connection-refused
Teil 3
Javiers Lösung
ssh -L 8080:localhost:80 user@remoteserver
ist fantastisch, wenn Sie nur Zugriff auf den einen Standort benötigen. Sie können damit auf localhost zugreifen und den Rest Ihres Internets in Ruhe lassen. Meine Lösung mit ssh -D geht weiter und leitet tatsächlich alle Ihre http-Anforderungen an den Remote-Server weiter. Offensichtlich möchten Sie dies möglicherweise nicht wirklich. Aber ich fand es nützlich, wenn ich http-Zugriff auf alle Computer in einem Netzwerk haben wollte oder wenn ich nicht wollte, dass meine http-Anfragen über das Netzwerk gehen, mit dem ich verbunden bin (dh Online-Banking bei Starbucks. Mein gesamter Datenverkehr geht durch den ssh tunnel zu meinem heimat internet.)quelle
channel 3: open failed: connect failed: Connection refused
. Ich hatte keine Zeit, es nachzuschlagen, aber vielleicht wissen Sie, was es sein könnte?-D
Option nutzen zu können. Dies ist der Grund, warum es nicht funktioniert hat und nicht funktionieren wird, da ich keine Verbindung zum Server herstellen kann (aus Sicherheitsgründen).Sie können die X-Weiterleitung über SSH verwenden, damit alle X-Anwendungen, die Sie auf dem Server ausführen, auf Ihrem PC angezeigt werden.
ssh -X myserver
.quelle