不带端口转发的 SSH

不带端口转发的 SSH

我的宿舍里有一台 Raspberry Pi。它连接到校园互联网,所有端口都已关闭,我显然没有任何访问权限或端口转发权限。现在我想 ssh 到 Raspberry Pi,但这是不可能的,因为我无法进行端口转发。不过,我有一个便宜的 vps,什么都不做。有没有办法让 pi 连接到 vps,然后使用 vps 作为某种隧道,在不进行任何端口转发的情况下 ssh 到 Raspberry Pi?

答案1

如果您可以通过 ssh 退出 Pi,则可以使用-R 1234:localhost:22,然后ssh vps -p 1234

 -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 connec-
         tion 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 overridden by specify-
         ing 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)).

         If the port argument is '0', the listen port will be dynamically
         allocated on the server and reported to the client at run time.

相关内容