【问题标题】:SSH tunnel stops working after EC2 instance restartEC2 实例重启后 SSH 隧道停止工作
【发布时间】:2014-04-21 13:34:41
【问题描述】:

我有一个从 EC2 实例(例如 A)到另一个具有弹性 IP(例如 B)的 SSH 隧道。它工作得很好。然而,B失败了。所以我不得不停止它,并使用相同的弹性 IP 启动一个新实例。现在完全相同的 SSH 隧道不再工作了。然而:

  • 我仍然可以从 A SSH 到 B。所以我知道我的密钥已经到位
  • 我从 A 以外的另一个实例尝试了完全相同的隧道,它按预期工作。

不知何故,就好像 A 在 B 出现故障时检测到了问题,现在它正在阻塞流量。

隧道:

/usr/bin/ssh -o StrictHostKeyChecking=no -i /path_to/id_dsa -f -p 22 -N -L 26:www.foo.com:80 ssh_tunnel@amazon_public_ip

当我尝试 Curl 时,我得到了:

    curl -v -H "Host: www.foo.com" http://localhost:26/foofoo
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* connect to 127.0.0.1 port 26 failed: Connection refused
* Failed to connect to localhost port 26: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 26: Connection refused

我错过了什么吗?

【问题讨论】:

  • 你启动隧道,在netstat -anp | grep ssh的命令输出中是否显示端口26处于监听模式?对我来说,connect to 127.0.0.1 port 26 failed: Connection refused 的消息非常直接。
  • 谢谢@slayedbylucifer。找到了答案。贴在下面。

标签: ssh amazon-ec2 tunnel ssh-tunnel


【解决方案1】:

我发现了问题。我没注意,但是当我通过 SSH 连接到实例时,我收到了一条警告消息:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!。由于它无论如何都有效,我认为这不是问题。事实证明它使隧道失效。

所以我刚刚从 known_hosts 中删除了有问题的 RSA 密钥,现在它可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 2020-04-23
    • 2012-06-04
    • 2013-12-18
    • 2022-12-29
    相关资源
    最近更新 更多