使用ssh隧道+privoxy实现Linux全局代理

使用ssh隧道+privoxy实现Linux全局代理

ssh简介

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

SSH提供两种级别的安全验证:

  • 第一种级别(基于口令的安全验证)
  • 第二种级别(基于密匙的安全验证)

    SSH 主要由三部分组成:

  • 传输层协议 [SSH-TRANS]
  • 用户认证协议 [SSH-USERAUTH]
  • 连接协议 [SSH-CONNECT]
    建立ssh本地监听socket,可使用ssh -D命令,指定本地 "dynamic" 应用程序级端口转发。 通过分配一个socket来侦听本地的端口,。 连接绑定的端口时, 连接将数据转发至安全通道上, 然后使用应用程序协议确定从远程计算机连接到要访问的位置。支持 SOCKS4 和 SOCKS5 协议, ssh 可以作为socks server。

用法:
ssh -D 0.0.0.0:12345 -i /private/key/file username@servera -p serverport
以上命令使用ssh连接至servera,并监听本地所有网卡的12345端口,通过本地12345端口转发的数据访问,都将通过ssh隧道发送至servera端进行访问。由此实现对部分不可达网络的访问,如servera的内部网络。

Linux全局代理

Linux全局代理可使用http_proxy变量进行定义,http_proxy为http协议,不能直接通过socket协议进行代理转发,所以需要使用privoxy来进行socket2http的操作

privoxy

首先安装很简单
apt-get install privoxy
安装完成后编辑其配置文件

vim /etc/privoxy/config
#添加如下内容
forward-socks5 / 10.120.1.241:12345 .

10.120.1.241为本机ip ,12345为通过ssh隧道与外部server端建立ssh隧道连接的其他机器。 完成后重启privoxy
/etc/init.d/privoxy restart
privoxy将会监听在8118端口上,当然也可以在配置文件中进行修改,然后在设置http_proxy为privoxy的监听ip:port即可。此处为
export http_proxy=127.0.0.1:8118
完成后即可以servera的身份进行网络访问,用处可以为下载外网资源,如docker hub、git等上的国内不容易下载文件等。

转载于:https://blog.51cto.com/aaronchou/2146189

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值