如何通过 SSH 连接通过远程服务器连接到 Internet

ena*_*ria 4 ssh internet proxy

我在通过 ssh 可访问的服务器访问 Internet 时遇到问题

情况

编辑:仅供参考,我的操作系统是 Ubuntu 16.04 和 IIRC,与服务器相同。

好的,这是交易。

  • 我的公司给我提供了一台有网络连接的电脑(通过代理),但受限于网络上的一些资源(我既不能添加外部 PPAapt-get update也不能手动添加它们,也不能访问某些应用程序的某些下载部分,但仍然可以通过使用apt-get installpip)来安装软件包。
  • 此外,我的(上面的)PC 可以通过 ssh 连接访问我公司的一些服务器。其中一个(故意)拥有不受限制的互联网访问(听起来很奇怪,但事实就是如此)。我问我的老板是否可以让我的计算机通过该服务器不受限制地连接到 Internet,他告诉我这是可能的,但他不知道如何做。仅供参考,虽然他不鼓励我这样做,但我并没有被禁止。

我的问题

有什么办法可以做我刚刚描述的事情吗?从我的 PC,通过远程服务器(不受限制的 Internet 访问)访问(不受限制)到 Internet

到目前为止我尝试过的

实际上并不多,因为我不知道如何搜索(很难想到一个关键字)问题。大多数情况下,我尝试配置代理,因此我可以(部分)解决问题(对于 PPA,我尝试添加source.list并添加符号,将代理条目添加到/etc/apt/apt.conf...)。还是没有给宝宝吃糖果。如果有人需要查看错误,请告诉我,但我想彻底解决问题:(

我很感激任何建议。提前致谢!

Bob*_*Bob 5

尝试 SSH 隧道/端口转发。互联网上有很多信息。阅读本文:SSH/OpenSSH/PortForwardingSSH 隧道与 ubuntu

我喜欢使用 SSH 袜子代理。安装链接:

sudo apt install plink
Run Code Online (Sandbox Code Playgroud)

在限制访问 Internet 的本地计算机(SSH 客户端)中运行命令:

plink -ssh 111.111.11.111 -C -N -l user -D 127.0.0.1:8081
Run Code Online (Sandbox Code Playgroud)

其中111.111.11.111- 具有不受限制访问权限的远程 SSH 服务器的 IP 地址以及user- 您的 SSH 服务器用户名。

就这样。现在您有了 SOCKS 代理 - 通过代理的所有流量都将被加密并通过您的远程 SSH 服务器进行路由。代理的设置是:host 127.0.0.1, port 8081

将此设置添加为 Ubuntu 系统范围的代理设置,并指示浏览器、bash 等使用系统代理。可以使用 Ubuntu 系统设置 GUI 添加系统代理(我的有乌克兰语言环境): 在此处输入图片说明

如果要为 apt 使用代理,请阅读为 APT 配置代理?,只考虑你有socks-proxy,因此代理URL应该是socks4://127.0.0.1:8081socks5://127.0.0.1:8081代替http://127.0.0.1:8081,例如:

export http_proxy="socks4://127.0.0.1:8081"
Run Code Online (Sandbox Code Playgroud)

  • 普林克有什么作用?我只使用“ssh”。 (2认同)