使用 Putty 透過防火牆進行 SSH

使用 Putty 透過防火牆進行 SSH

我正在嘗試 ssh 到我的樹莓派(注意:我知道連接有效,我已經在非防火牆網路上測試了它)。

我位於學校防火牆後面,但連接埠 22 是開放的。

我的 pi 使用連接埠 2000(用於模糊目的)。

我該怎麼做呢?建立VPN(openvpn?)是一個更簡單的解決方案嗎?

配置膩子到隧道是最好的決定嗎?

另外,我是新人,如果我做錯了什麼,請告訴我

答案1

如果我很好地理解你的問題,你正嘗試從你的學校通過端口 2000 ssh 到你的 Raspberry Pi,該端口在學校防火牆上關閉,並且只允許端口 ssh (TCP 22)。您有兩個選擇:

  1. 將 Raspberry Pi 監聽連接埠變更為 22。
  2. 使用常規 ssh 服務(連接埠 TCP 22)在家庭網路中設定筆記型電腦/桌上型電腦/虛擬機器(可以在連接埠 2000 上存取 Raspberry Pi),然後:
    • 透過 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 位址。

相關內容