使用端口转发远程 SSH 访问不同网络中的 ubuntu 服务器

使用端口转发远程 SSH 访问不同网络中的 ubuntu 服务器

当我尝试从本地网络之外的任何地方通过端口 22 远程 ssh 进入本地机器时,却遇到了困难。

我的本地网络上有一台运行 Ubuntu Server 和 Fritz 盒的本地机器。

本地机器在我的 Wi-Fi 和 LAN 上运行。我已经可以通过 ssh 进入本地机器,同时在我的家庭网络上,直接连接到我的路由器。

先决条件

  1. 我正在使用 Fritz box 7590
  2. Raspberry PI 4 上的 Ubuntu Server v24.10
  3. 我的路由器上已设置并激活了端口 21、22、80、443 的端口转发
  4. 我已经在路由器上为机器设置了静态 IP
  5. OpenSSH 已完全配置
  6. 通过 SSH 进行本地访问
  7. 防火墙状态为非活动
  8. 在我的本地网络上执行 ssh 连接时,我可以在我的服务器上看到一些错误弹出 brmcfmac:brcmf_set_channel:设置 chanspec 0x100e 失败,原因 -52(但 WiFi 可以正常工作)
  9. 我有路由器的 IP 地址。假设它是 41.564.827.27

这是我已经重复的步骤:

  1. 安装了包含 OpenSSH 的 Ubuntu Server v23.10 完整版本
  2. 配置所有用户和具有不同访问权限的权限
  3. 相应配置 SSH 客户端(SSH 状态检查=活动)
  4. 我现在可以通过 Mac 通过本地网络访问我的机器,使用 term2 终端
  5. 在我的路由器上,我为端口 22、21、80 和 443 创建了相关的端口转发
  6. 检查了 IfConfig,并为设备分配了静态 IP
  7. iptables -L (输入、输出、转发)全部设置为接受
  8. 检查机器上的访问日志,我发现我的请求没有通过路由器转发。

以下是我在尝试从本地网络外部 ssh 进入机器时遇到的错误

❯ ssh -L 22 [email protected]
Bad local forwarding specification '22'

❯ ssh -p 22 [email protected]
ssh: connect to host 41.564.827.27 port 22: Operation timed out

❯ ssh -p 55 [email protected]
ssh: connect to host 41.564.827.27 port 22: Operation timed out

❯ ssh [email protected]:22
ssh: Could not resolve hostname 41.564.827.27:22: nodename nor 
servname provided, or not known

我已经对路由器进行了内部和外部 ping 操作。##以下是 ping 操作的结果##

从本地网络到本地 IP 进行内部 Ping

PING 192.168.178.1 (192.168.178.1): 56 data bytes
64 bytes from 192.168.178.1: icmp_seq=0 ttl=64 time=3.736 ms
64 bytes from 192.168.178.1: icmp_seq=1 ttl=64 time=4.215 ms
64 bytes from 192.168.178.1: icmp_seq=2 ttl=64 time=8.692 ms
64 bytes from 192.168.178.1: icmp_seq=3 ttl=64 time=6.017 ms
64 bytes from 192.168.178.1: icmp_seq=4 ttl=64 time=3.381 ms
64 bytes from 192.168.178.1: icmp_seq=5 ttl=64 time=8.389 ms
^C

--- 192.168.178.1 ping statistics ---
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 3.381/5.738/8.692/2.149 ms

从本地网络到公网 IP 进行内部 Ping

PING 41.564.827.27 (41.564.827.27): 56 data bytes
64 bytes from 41.564.827.27: icmp_seq=0 ttl=61 time=52.221 ms
64 bytes from 41.564.827.27: icmp_seq=1 ttl=61 time=61.948 ms
64 bytes from 41.564.827.27: icmp_seq=2 ttl=61 time=301.428 ms
64 bytes from 41.564.827.27: icmp_seq=3 ttl=61 time=344.452 ms
64 bytes from 41.564.827.27: icmp_seq=4 ttl=61 time=185.545 ms
64 bytes from 41.564.827.27: icmp_seq=5 ttl=61 time=16.076 ms
64 bytes from 41.564.827.27: icmp_seq=6 ttl=61 time=20.815 ms
64 bytes from 41.564.827.27: icmp_seq=7 ttl=61 time=42.052 ms
64 bytes from 41.564.827.27: icmp_seq=8 ttl=61 time=68.746 ms
64 bytes from 41.564.827.27: icmp_seq=9 ttl=61 time=151.611 ms
^C
--- 41.564.827.27 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 16.076/124.489/344.452/112.113 ms
~/Developer master* 10s ❯ ping ackets transmitted, 4 packets received, 0.0% packet loss

在公共 IP 上对外部 WAN 进行 ping

PING 41.564.827.27 (41.564.827.27): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
Request timeout for icmp_seq 9
^C
--- 41.564.827.27 ping statistics ---
11 packets transmitted, 0 packets received, 100.0% packet loss

提前感谢您的所有帮助和时间!

相关内容