我正在尝试从在 NAT(消费者 Fritzbox)后面运行的服务器 1 到可从外部访问的服务器 2 设置反向 SSH 隧道。
因此我使用添加到 server1 的 /etc/rc.local 的以下命令。
autossh -i /home/user/.ssh/passwordless_id_rsa -f -N -R 10001:localhost:22 user@server2
netstat 输出类似
tcp 0 0 server1.fritz.box:60805 server2:ssh ESTABLISHED
但每当我尝试通过 server2 访问 server1 时,我都会收到以下消息
$ ssh -p 10001 localhost
ssh_exchange_identification: Connection closed by remote host
奇怪的是,如果在系统启动后手动运行该命令,它会完美地工作。所以我猜测这可能与 sshd 的启动有关?
有谁经历过这种情况并能帮助我解决这个问题?
答案1
有人能把这个移到评论里吗?我受到声誉规则的限制。TIA。
当您在 server1 上运行时telnet localhost 22
,它可以工作吗?可能是 IPv4 与 IPv6 的情况,在这种情况下,请尝试使用 127.0.0.1。
该-v
选项是否提供了更多信息?server1 上的 sshd 日志中有什么内容吗?