
Ich habe SSH auf meinem Laptop zu Hause installiert und es funktioniert einwandfrei. Ich habe den Tunnel eingerichtet:
$ ssh -p 443 -C2TNv -D 8080 [email protected]
Firefox-Einstellungen:
manual config:
SOCKS; port 8080
V5
about:config:
network.proxy.socks_remote_dns: true
Terminalausgabe:
OpenSSH_5.9p1, OpenSSL 0.9.8t 18 Jan 2012
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to me.no-ip.org [] port 443.
debug1: Connection established.
debug1: identity file /home/me/.ssh/id_rsa type -1
debug1: identity file /home/me/.ssh/id_rsa-cert type -1
debug1: identity file /home/me/.ssh/id_dsa type -1
debug1: identity file /home/me/.ssh/id_dsa-cert type -1
debug1: identity file /home/me/.ssh/id_ecdsa type -1
debug1: identity file /home/me/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9
debug1: match: OpenSSH_5.9 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 [email protected]
debug1: kex: client->server aes128-ctr hmac-md5 [email protected]
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: <removed>
debug1: Host '[me.no-ip.org]:443' is known and matches the host key.
debug1: Found key in /home/me/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/me/.ssh/id_rsa
debug1: Trying private key: /home/me/.ssh/id_dsa
debug1: Trying private key: /home/me/.ssh/id_ecdsa
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: password
[email protected]'s password:
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
Authenticated to me.no-ip.org ([removed]:443).
debug1: Local connections to LOCALHOST:8080 forwarded to remote address socks:0
debug1: Local forwarding listening on ::1 port 8080.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 8080.
debug1: channel 1: new [port listener]
debug1: Requesting [email protected]
debug1: Entering interactive session.
Beim Besuch einer beliebigen Website wird dann die Meldung „Der Proxyserver akzeptiert keine Verbindungen“ angezeigt.
Bitte beraten.
Antwort1
Ich musste die Tunneleinstellungen in Putty ändern. Ich musste die dynamischen Bubbles und IPv4 überprüfen; funktioniert jetzt einwandfrei.
Antwort2
Sie benötigen einen laufenden Server sshd
am Remote-Ende und müssen eine SSH-Verbindung zu diesem Server herstellen, nicht zum Webserver.
$ ssh -C2TNv -D8080 [email protected]
Der tatsächliche Host und Port, mit dem eine Verbindung hergestellt werden soll, werden vom Browser als Teil jeder SOCKS-Anfrage angegeben.
Wenn Sie mit einen SOCKS-Tunnel einrichten ssh -D
, passiert Folgendes:
- Ihre App (in diesem Fall der Browser) stellt eine Verbindung mit dem von Ihnen angegebenen lokalen Socks-Port her.
- Das lokal laufende SSH-Programm fungiert als SOCKS-Server und erhält den angeforderten Host und Port vom Browser.
- Der lokale
ssh
Server fordert den Remote-Serversshd
, der auf dem von Ihnen angegebenen Host (me.no-ip.org
in Ihrem Fall) ausgeführt wird, auf, eine Verbindung zum angeforderten Host und Port zu öffnen. - Der lokale
ssh
und der Remote-Serversshd
richten einen Tunnel zwischen sich ein, um den Verkehr zwischen der lokalen Verbindung, die vom Browser hergestellt wird, und der Remote-Verbindung, die vom hergestellt wird, weiterzuleitensshd
. Dies ist der Tunnel.