SSH代理
参考:
http://www.dkys.org/archives/1111.html
SSH的-L与-D代理
SSH有三种代理参数-L,-D,-R。-R代理不是本次重点,有兴趣的读者可以自行查阅man手册。
-L参数会在本地监听一个端口,转发数据到远程主机上。
ssh -NL 3306:localhost:3306 user@remote_ip
在本地监听一个3306端口,转发到远程主机上的localhost:3306上,等于访问本地的3306端口就相当于访问到了远程的mysql服务。这种方式访问远程服务会更安全,远程服务不需要对外网暴露端口。
很明显,这个代理只适用于代理单一ip单一服务的需求有用,本质上是反向代理,客户端不需要额外配置。
-D参数就厉害了,在本地开放一个socks5协议的代理端口,利用这个端口可以动态的访问到远程内网的环境。
ssh -ND 1080 user@remote_ip
这条命令会在本地开放一个1080的socks5端口,支持socks5协议代理的应用程序就可以利用这个端口直接访问到内网资源。比如:
curl --socks5 127.0.0.1:1080 localhost
让curl命令利用socks5协议代理访问到远程服务器上的http服务,浏览器直接配置这个代理服务就可以无阻碍的访问到内网中所有的http服务了。
很明显,这个代理本质上是正向代理,可以实现一个代理访问更多服务资源的需求。但是需要客户端本身支持代理
sshuttle
一个神器。回到我们之前hadoop集群(比如zookeeper集群、kafka集群等)的例子,这些集群没法通过单一的端口转发代理实现集群的访问,VPN有些太重,而且现在非常容易被ban。此时sshuttle进入我的视野,ubuntu下直接用sudo apt install -y sshuttle就可以安装了。这个工具非常巧妙,利用iptables的端口转发功能,直接把指定目标网络的请求通过ssh代理到远程,实现了非常类似于VPN的功能,但是几乎零配置,开箱即用,非常方便。不过只支持linux环境的系统(如Linux, FreeBSD, MacOS等等)。
让我们先看一个简单的例子:
sshuttle -r user@remote_ip 10.0.0.0/8
代表将10.0.0.0/8这个网段的请求走SSH代理,是不是很容易使用?此外,还支持--dns,--auto-hosts, --auto-nets等十分有用的参数,根据实际情况去选用即可。
sshuttle实际体验上非常类似于VPN,但是比VPN更轻量,而且无需管理。值得注意的是,本质上这个工具是利用了端口转发的原理,并不是真正的VPN,所以对于ICMP这类的协议是没用的,也就是说,对于ping命令是无效的。
公司例子: jumpserver转发
[program:p1]
directory=/usr/bin/
command=/usr/bin/sshuttle -l 127.0.0.1:12300 -r oride-ops 10.52.0.0/16 -vv #将10.52.0.0/16这个网段的请求用本地端口12300走ssh代理
autostart=true
autorestart=true
startsecs=5
#stderr_logfile=/opt/super_p1_stderr.log
#stdout_logfile=/opt/super_p1_stdout.log
user=root
redirect_stderr=true
stdout_logfile_backups=1
SSH代理的更多相关文章
- IT这一行,如可高速下载国外资源之迅雷设置免费SSH代理下载国外资源
本文转自SUN'S BLOG 原文地址:IT这一行,如可高速下载国外资源之迅雷 我们这些做IT这一行的人,经常,下载一些国外的一些资源,可是让人蛋碎的是,往往这些资源下载都慢的像蜗牛,真的让人无法忍受 ...
- ssh代理上网
背景: 公司开发机没有外网,但可以通过ssh连接到另一台可以上公网的机器,所以想通过ssh代理的方式上网,简单又方便,而且需要的时候上,不需要的时候也可以不上 配置: 超级简单 在开发机上建立ssh隧 ...
- Linux下实现自动设置SSH代理
SSH的巨大价值体现在能够配置为代理服务器上.不像在Windows下每次还需要手动登录设置,Linux有很好的工具链能够实现自动设置SSH代理,就是expect和ssh的联合使用,再加上proxych ...
- Ubuntu ssh 代理
ssh代理命令 ssh -qTfnN -D 端口 用户名@远程机器地址 ssh全局代理 proxychains 程序 参数 proxychains 可以把从命令行启动的程序,用上ssh代理 prox ...
- Windows上架设自己的ssh代理 — copSSH
最近网上对ssh代理讨论的比较多, 主要是为了穿墙. 其实在自己的电脑上也可以架设ssh代理, 当然国内自己架的不具有FQ功能, 如果你有国外朋友或是远程win服务器…则可以用此方法架设私有代理. 其 ...
- 使用SSH代理上IPV6(使用SSH端口转发)
这几个月在国外待着,一直担心我的六维账户怎么办,那可是个宝贝啊.我看网上说可以用六飞啊神马的在IPV6下上IPV6的网站,但是冒失现在六维封禁了非学校的IPV6地址,所以这些软件就不顶用了. 想到以前 ...
- linux配置wifi连接并通过ssh代理开启socks代理
1, 命令行配置连接wifi具体我是用的cubieboard2上Debian主机,其中配置wifi的命令行有wpa_cli,具体用法步骤如下.wpa_cli 命令行执行需要root权限,详细用法请见 ...
- SSH通过SSH代理连接到内网机器
要解决的问题? 需要解决的问题:https://q.cnblogs.com/q/105319/ 简单来说就是本地机器通过一台公网机器SSH到公网机器后面的私网机器. 网络环境如下图:本地机器可访问代理 ...
- linux下设置 git ssh 代理
/root/.ssh (以下为 root权限的操作) 1. 生成key. $ ssh-keygen 一路回车,直到生成 id_rsa, id_rsa.pub 1.1 chmod 400 id_rsa. ...
随机推荐
- luoguP3373 【模板】线段树 2
P3373 [模板]线段树 2 969通过 3.9K提交 题目提供者 HansBug 标签 云端↑ 难度 提高+/省选- 时空限制 1s / 128MB 题目描述 如题,已知一个数列,你需要进行下面两 ...
- Fantasy of a Summation (LightOJ - 1213)(快速幂+简单思维)
题解:根据题目给的程序,就是计算给的这个序列,进行k次到n的循环,每个数需要加的次数是k*n^(k-1),所以快速幂取模,算计一下就可以了. #include <bits/stdc++.h> ...
- ngx_http_auth_request自用
server { listen 80; server_name www.php12.cn php12.mama1314.com; root /var/www/shf; location / { ind ...
- MessageListenerAdapter--消息监听适配器
我们把之前的消息监听代码注释,可以不用直接加消息监听,而是采用MessageListenerAdapter的方式,我们来学习下如何使用默认的handleMessage,自定义方法名,自定义转换器. 适 ...
- react搭建项目
1.创建react项目 使用react脚手架create-react-app npm install -g create-react-app create-react-app my-app cd my ...
- zabbix监控远端主机
接着上一篇博客,zabbix监控搭建起来以后,怎么用来监控其他主机呢,这一篇就来简单讲一下,希望对大家有所帮助. 安装一些依赖包 [root@winter ~]# yum install curl c ...
- Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/Cppcc] due to a StackOverflowError. Possible root causes include a too low setting for -Xs
解决办法:(1)修改D:\Java\apache-tomcat-7.0.88\conf\catalina.properties (122line) (2)如org.apache.catalina.st ...
- 2 大O表示法
1.大O表示法 表示程序的执行时间或占用空间随数据规模的增长趋势. 算法操作 时间复杂度 线性查找 O(n) 二分查找 O(logn) 无序数组插入 O(1) 无序数组删除 O(n) 有序数组插入 O ...
- 黑马vue---8-10、v-cloak、v-text、v-html、v-bind、v-on的基本使用
黑马vue---8-10.v-cloak.v-text.v-html.v-bind.v-on的基本使用 一.总结 一句话总结: v-bind等这些东西都是用的vue.data里面的变量 1.使用 v- ...
- 显示Pl/Sql Developer window list窗口
默认情况下Window List窗口是不显示的,这十分不方便 (一)在菜单项的Tools下的Preference选项中的UserInterface中选择Option,在右边对于的Autosave de ...