对所有这些东西都是新的,如果它看起来很基本,对不起。我有一个 Raspberry Pi,它创建了一个反向 SSH 隧道(通过 Internet)到一个路由器,它重新路由到我用作服务器的 RPi。
隧道创建:ssh -i /home/pi/.ssh/id_rsa -p 45000 -N -R 2500:localhost:22 user@IP -o "ServerAliveInterval 5" -o "ServerAliveCountMax 2" -o "ExitOnForwardFailure yes"
服务器命令:ssh -p 2500 user@localhost
这很好用,但现在我想用更“官方”的服务器做同样的事情。
所以我将SSH密钥复制到另一个RPi(在尝试使用服务器之前知道是否可以从另一个设备连接),更新路由器的NAT规则以将隧道重定向到第二个RPi IP,并尝试连接。但它没有用。(没有设置防火墙)
为了清楚起见,使用此图:
Remote ===========> router <----------- LocalA
but
Remote ===========> router <-----X----- LocalB
安装了 ssh(其中 ssh(d) => /usr/bin/ssh(d)),并启动了服务。
这是详细的:
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "localhost" port 2500
debug2: ssh_connect_direct
debug1: Connecting to localhost [::1] port 2500.
debug1: connect to address ::1 port 2500: Connection refused
debug1: Connecting to localhost [127.0.0.1] port 2500.
debug1: connect to address 127.0.0.1 port 2500: Connection refused
ssh: connect to host localhost port 2500: Connection refused
/etc/ssh/ssh_config 在两个 RPi 中是相同的。iptables 中的所有策略都设置为 ACCEPT(远程和本地)。来自远程 RPi 的日志不包含来自连接尝试的任何信息。(似乎逻辑因为甚至没有设置 ssh 连接......)
已经尝试设置-L 0.0.0.0:...
但也没有结果。(从this和this ServerFault主题,可能误解了概念)
你有什么想法用第二个 RPi 连接到隧道吗?即使不在同一个网络上也有可能吗?
预先感谢您的回复!