我刚刚用私钥创建了一个 AWS ubuntu 实例。我设法通过 ssh 连接到它,但我无法使用 localhost 在 Web 浏览器中连接到它。我正在通过 Windows 计算机连接,我想通过 .pem 密钥连接到 ubuntu 实例。
我在命令提示符中用来连接的命令:
ssh -L 8080:localhost:8080 -i C:\Users\grege\keys\den_forsta.pem [email protected]
在 Chrome 浏览器中尝试通过‘localhost:8080’连接时,命令提示符中反复弹出错误消息:
channel 3: open failed: connect failed: Connection refused
并且
channel 4: open failed: connect failed: Connection refused
我在亚马逊 AWS 实例中的安全组是:HTTP、HTTPS 和 ssh,并且它们的源都设置为“任何地方”。
我尝试将“localhost”替换为 127.0.0.1,并阅读了其他解决方案,但不起作用。解决方案可能与通过 PuTTYgen 制作密钥 .ppk 有关,因为它在教程中提到过,但我不知道如何做,因为他们再也没有提到它。
我尝试在防火墙高级设置中打开端口 8080,并且添加了为端口 8080 打开的自定义 TCP 安全规则。
非常感谢您的回答。如果您需要更多信息,请询问。
答案1
当您访问 时,您究竟期望在浏览器中看到什么localhost:8080
?
您使用的命令ssh -L 8080:localhost:8080 ...
将本地计算机端口 8080 转发到远程计算机,并且那里它连接到它是本地主机:8080。
如果你正在运行某个应用程序端口 8080在远程机器上,您可以通过 ssh 隧道以这种方式访问它。您的 Ubuntu 服务器上的该端口上运行着什么吗?
或者也许正在运行端口 80而不是?在这种情况下,您的命令应该是ssh -L 8080:localhost:80
- 将本地端口 8080 转发到远程机器的端口 80。
主要问题是您在 Ubuntu 服务器上运行了一些 Web 应用吗?如果有,运行在哪个端口上?弄清楚之后,我们就可以讨论如何实现。
希望有帮助:)