来源于道哥的公共微信。这个人是专注于白冒的大牛

非常的简单服务端不需要配置,服务端怎么把ssh的访问转化为外网的访问这个我还不得而知。

只需要一行简单的代码建立客户端与服务端的ssh链接就ok了。

ssh -qCNgf codewalker@192.168.123.102 -D 127.0.0.1:7978

参数解释

-q Quiet mode. Causes most warning and diagnostic messages to be suppressed.

-C Requests compression of all data (including stdin, stdout, stderr, and data for

forwarded X11 and TCP connections).  The compression algorithm is the same used

by  gzip(1), and the ``level'' can be controlled by the CompressionLevel option

for protocol version 1.  Compression is desirable on modem lines and other slow

connections,  but  will  only  slow  down things on fast networks.  The default

value can be set on a host-by-host basis in the configuration  files;  see  the

Compression option.

-N Do not execute a remote command. This is useful for just forwarding ports

(protocol version 2 only).

-g Allows remote hosts to connect to local forwarded ports.

-f Requests ssh to go to background just before command execution. This is useful

if  ssh  is going to ask for passwords or passphrases, but the user wants it in

the background.  This implies -n.  The recommended way to start X11 programs at

a remote site is with something like ssh -f host xterm.



If  the  ExitOnForwardFailure  configuration  option  is set to ``yes'', then a

client started with -f will wait for all remote port forwards  to  be  success‐

fully established before placing itself in the background.

-D [bind_address:] port

Specifies a local ``dynamic'' application-level port forwarding.  This works by

allocating a socket to listen to port on the local side,  optionally  bound  to

the  specified  bind_address.   Whenever a connection is made to this port, the

connection is forwarded over the secure channel, and the  application  protocol

is  then  used  to determine where to connect to from the remote machine.  Cur‐

rently the SOCKS4 and SOCKS5 protocols are supported, and ssh  will  act  as  a

SOCKS  server.   Only root can forward privileged ports.  Dynamic port forward‐

ings can also be specified in the configuration file.



IPv6 addresses can be specified by enclosing the address  in  square  brackets.

Only the superuser can forward privileged ports.  By default, the local port is

bound in accordance  with  the  GatewayPorts  setting.   However,  an  explicit

bind_address  may  be  used  to bind the connection to a specific address.  The

bind_address of ``localhost'' indicates that the listening port  be  bound  for

local use only, while an empty address or `*' indicates that the port should be

available from all interfaces.