这些东西都是新手,如果看起来很基础,请见谅。我有一台 Raspberry Pi,它创建了一个反向 SSH 隧道(通过互联网)到路由器,该路由器重新路由到我用作服务器的 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 已安装(which 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
两个 RPi 中的 /etc/ssh/ssh_config 相同。iptables 中的所有策略都设置为 ACCEPT(远程和本地)。远程 RPi 的日志不包含任何连接尝试信息。(这似乎合乎逻辑,因为 ssh 连接甚至没有设置...)
已经尝试设置-L 0.0.0.0:...
,但也没有结果。(来自这和这ServerFault 主题,可能误解了概念)
您知道如何使用第二个 RPi 连接隧道吗?即使不在同一个网络上,是否也可以?
提前感谢您的回复!
答案1
好的,我明白了。我认为使用两次相同的 ID 不是一个好主意。然后我在第二个端口上为第二个“服务器”设置了第二组 SSH 密钥,一切顺利!