我负责将现有服务器的网站迁移到另一台服务器,但我需要执行 git clone 和其他相关命令,这些命令要求我访问互联网并获取文件。我甚至无法执行 wget 来获取文件。最初设置此功能的服务器管理员完全搞砸了,他们封锁了 :80 等端口。
我无法使用 wget 或 git clone 做任何事情,因为它只是挂起并且无法访问任何这些站点。但它只能从 redhat 存储库中抓取。
我甚至禁用了防火墙。这是他们要做的。是否有某种 ssh 隧道,我可以通过 ssh 连接重新路由来自服务器的数据,以便访问这些网站?
由于这是一家外包 IT 公司,因此等待服务器管理员做任何事情都要花上几天甚至几周的时间。我只想今天就把事情做完。
答案1
您可以使用 ssh 建立反向端口隧道。从命令行,与 Redhat 服务器的连接将如下所示:
ssh -R:3333:github.com:80 <server ip>
这会在服务器上的 127.0.0.1:3333 创建一个端口 - 发送到此端口的任何内容都将被转发到 github 的 80 端口:
wget http://127.0.0.1:3333/path/to/file/to/download.zip
您可能需要更新 /etc/hosts 文件以确保 URL 在接收端看起来正确:
127.0.0.1 github.com