服务器搬家 中国的地震预测的确让人困惑
May 09

If you have a dedicated server online can be connected via SSH, you are really lucky. Get tired to search for a workable proxy to access the blocked site? There is a way via the powerful SSH.

Geek to Live: Encrypt your web browsing session (with an SSH SOCKS proxy)

But, if you are a facebook application developer, you must feel very painful to debug the application. Because it requires your application can be accessed by facebook servers, at least you should have public IP address or forwarding the traffic from your router.

Anyway, the problem can be easily solved. Thanks to my friend Wang Chun, he found a way to use SSH creates a tunnel that forwards traffic from server to the client. AWESOME!!

You can use option -R to listen on the port of server and forward the traffic to client.

-R [bind_address:]port:host:hostport
    Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.  This works by allocating
    a socket to listen to port on the remote side, and whenever a connection is made to this port, the connection is forwarded over the secure channel,
    and a connection is made to host port hostport from the local machine.

    Port forwardings can also be specified in the configuration file.  Privileged ports can be forwarded only when logging in as root on the remote
    machine.  IPv6 addresses can be specified by enclosing the address in square braces or using an alternative syntax:
    [bind_address/]host/port/hostport.

    By default, the listening socket on the server will be bound to the loopback interface only.  This may be overriden by specifying a bind_address.
    An empty bind_address, or the address `*', indicates that the remote socket should listen on all interfaces.  Specifying a remote bind_address will
    only succeed if the server's GatewayPorts option is enabled (see sshd_config(5)).

Don’t forget to enable ‘GatewayPorts’ in the /etc/ssh/sshd_config.
Enjoy!

Leave a Reply