Linux中使用SSH代理
1 min read要通过SSH为系统配置代理,你可以使用SSH的动态端口转发功能来创建一个SOCKS代理,然后将系统的网络流量通过该代理进行转发。以下是如何设置的步骤:
1. 启动SOCKS代理
首先,使用SSH命令启动一个动态端口转发会话,这将创建一个SOCKS代理。
ssh -D 1080 user@remote_server
-D 1080
:指定本地的1080端口作为SOCKS代理端口。你可以更改1080为其他端口。user@remote_server
:替换为你的远程服务器的用户名和IP地址或主机名。
2. 配置系统代理
接下来,将你的系统配置为使用刚刚创建的SOCKS代理。
在Linux上使用环境变量(适用于终端应用)
你可以通过设置环境变量来告诉系统使用这个代理:
export http_proxy="socks5://127.0.0.1:1080"
export https_proxy="socks5://127.0.0.1:1080"
配置全局代理(适用于桌面应用)
对于需要代理所有流量的情况,你可能需要通过修改网络设置或使用代理工具(如ProxyChains、Proxifier等)来设置系统级代理。
3. 测试连接
配置完成后,你可以通过以下命令来测试是否通过代理连接成功:
curl ipinfo.io
你应该看到显示的是远程服务器的IP地址,而不是你本地的IP地址。
4. 保持SSH连接
请注意,当你使用这种方法时,代理会在SSH连接关闭后终止。因此,请保持SSH会话打开,或者将其放到后台运行:
ssh -f -N -D 1080 user@remote_server
-f
:让SSH会话在后台运行。-N
:不执行远程命令,只进行端口转发。
这样,你就可以通过SSH来为系统配置代理,将所有流量通过指定的远程服务器进行转发。