SSH 可以通过本地系统将来自远程系统的请求代理到互联网吗?

SSH 可以通过本地系统将来自远程系统的请求代理到互联网吗?

我可以通过 VPN 通过 SSH 访问 *nix 系统。我需要将一些软件包从发行版的存储库安装到该系统,但该系统没有对互联网的一般访问权限来访问存储库。

仅使用 SSH,我可以设置从远程系统通过本地系统到达 Internet 的反向转发或代理吗?

答案1

是的。但除非有充分的理由,否则我建议不要这么做。通常,由于某种原因,系统无法正常访问互联网,在这种情况下,最好将 RPM 下载到您自己的系统,然后将它们上传到服务器,并使用 rpm 从上传的文件中安装它们。或者,如果这种情况很常见,请设置代理存储库服务器并允许敏感服务器访问该服务器。

但是,如果确实需要,您可以按照以下方法进行操作。

在远程系统上,更改官方发行版的存储库信息,使其指向端口 8080(或其他一些未使用的端口)。添加一行/etc/hosts,使存储库服务器的名称指向 127.0.0.1。

在您自己的服务器上,启动 SSH 隧道。它应该将目标系统上的端口 8080 转发到存储库服务器上的端口 80。

ssh -R 443:repository.example.org:80 theserver

相关内容