使用 Putty 通过防火墙进行 SSH

使用 Putty 通过防火墙进行 SSH

我正在尝试 ssh 到我的 raspberry pi(注意:我知道连接有效,我已经在非防火墙网络上测试过它)。

我在学校防火墙后面,但端口 22 是开放的。

我的 pi 使用端口 2000(出于模糊目的)。

我该怎么做?创建 vpn(openvpn?)会是更简单的解决方案吗?

配置腻子到隧道是否是最好的决定以及我该如何去做?

另外我是新手,如果我做错了什么,请告诉我

答案1

如果我理解你的问题,你正在尝试通过学校防火墙关闭的 2000 端口 ssh 到你的 Raspberry Pi,并且只允许使用 ssh 端口(TCP 22)。你有两个选择:

  1. 将您的 Raspberry Pi 监听端口更改为 22。
  2. 在您的家庭网络中设置一台笔记本电脑/台式机/虚拟机(可以通过端口 2000 访问您的 Raspberry Pi),并使用常规 ssh 服务(端口 TCP 22),然后:
    • 将其用作“代理”,通过 SSH 连接到此机器,然后通过 SSH 连接到你的 Raspberry Pi
    • 使用以下命令直接通过新创建的机器进行 SSH:

ssh -L 9999:Raspberry_Pi_LOCAL_IP:2000 VM_PUBLIC_IP_ADDRESS

例如,如果 VM_PUBLIC_IP_ADDRESS 是 151.101.129.69(以 superuser.com 的 IP 地址为例)并且您的 Raspberry_Pi_LOCAL_IP 是 192.168.1.10,则命令将如下所示:

ssh -L 9999:192.168.1.10:2000 151.101.129.69

  • 然后你需要做的就是通过 ssh 连接到本地主机的 9999 端口

    ssh 用户@localhost -p 9999

或者直接使用 Putty,但请确保将端口更改为 9999,并将主机名/IP 更改为 localhost 或 127.0.0.1

答案2

您可以在互联网路由器(在家中)上进行端口转发,从端口 22(在您的公共 IP 地址上)到端口 2000(在您的 Raspberry Pi IP 地址上)。

这样,当您从学校 ssh(使用端口 22)时,您将使用服务提供商分配的路由器的公共 IP 地址。路由器会将端口 22 上收到的数据包转发到端口 2000 上的 Raspberry Pi IP 地址。

相关内容