我家里有一台 PC,大学里有一台笔记本,它们都使用动态 IP 连接到互联网。我试图弄清楚如何使用托管在 AWS 上的具有公共静态 IP 的服务器通过 SSH 隧道连接两者。我尝试了这种方法:首先从我的笔记本:
ssh -R 2000:localhost:2001 root@awsserver
,然后从我的 PC:,
ssh -L 2001:localhost:2002 root@awsserver
最后在我的笔记本(希望访问我的 PC):。
ssh localhost -p 2000
但 ssh 提示connection refused
。我该如何处理这个连接?
答案1
ssh -R 2000:localhost:2001 root@awsserver
将本地端口 2001 公开给 aws 服务器上的远程端口 2000。但是,当您运行 时ssh -L 2001:localhost:2002
,您尝试将远程的“localhost:2002”映射到本地 2001 端口。这会失败,因为远程服务器未启用 2002 端口。
通过 AWS 服务器公开桌面的正确方法是:
- 从您的桌面运行
ssh -R 2002:localhost:2001 root@awsserver
(将 2001 替换为您的 SSH 端口;默认值为 22;这会将您的本地端口 2001 映射到远程服务器的 2002) - 在笔记本上运行
ssh -L 2002:localhost:2002
(这会将远程的 2002 端口映射到本地的 2002 端口) - 运行
ssh -p 2002 localhost
以获取 ssh(这将连接到您本地的 2002 端口)
希望能帮助到你 :)。