ssh隧道与代理

ssh是用来远程登录主机的作用大家都知道,而且传输的内容全部经过加密处理也是大家喜欢其的主要因素。但其实ssh能做的更多,例如作为代理服务器。

通过ssh 的-D参数,我们可以在本地搭建一个socks5服务器,具体使用方法如下:

ssh -qTNf -D 127.0.0.1:12345 test@222.333.444.555

其中-q表示该命令进入安静模式

-T是指该命令不占用shell

-N是指该命令不执行远程命令

-f是指该命令在后台运行

-D是该命令重要参数,他的后面跟着socks5服务器的地址与端口

最后就是远程服务器用户名和地址

执行完该命令后,我们需要在浏览器中设置代理服务器,地址和端口就是上面提到的,然后记得选择socks5协议。那么以后每浏览一个页面,都会先经过代理服务器,然后再去请求页面,接着页面先到达代理服务器,最后才返回我们自己的浏览器。过程好像变得复杂了,但是这样的作用是什么呢,很常见,例如有一些校园网是限制ipv4流量的,如果我们找到一台支持ipv6的远程服务器,而且校园网大部分都支持ipv6,那么我们就能通过建立ipv6代理服务器来无流量限制上网了。再者,如果我们能找到外国的免费服务器,能让我们通过ssh登录,那么我们通过建立代理服务器来翻墙了,翻墙后能做的事情就请读者自行脑补吧。

接下来继续讲的是ssh的端口映射功能,这个也相当好用,例如我们在家如果想访问公司或学校的资源,我们需要先登录一台拥有公网ip的服务器,然后在访问局域网的主机,譬如,我们是A主机,需要访问学校的C主机,而只有学校B主机有公网ip,我们需要先登录B主机,然后才能访问C主机。过程很麻烦,这时我们就需要做一个端口映射了,而这个ssh也能帮我们完成。具体命令如下:

ssh -N -f -L 127.0.0.1:12345:10.21.0.34:22 test@12.3..4.5

其中-N,-f作用上面已经讲了,这里最重要的是-L命令,它作用是做本地映射,使得远程服务器的端口相当于本地某自定义的端口,如上面的命令,本地的12345端口就相当于10.21.0.34的22端口,以后我只需要使用ssh user@127.0.0.1 -p 12345命令就能登录10.21.0.34了,注意user是10.21.0.34的用户,最后就是我们所使用的中间服务器,这个地址需要是我们直接访问到的。其实上面所说的A主机就是127.0.0.1,B主机就是12.3.4.5,C主机就是10.21.0.34。当然了,有本地映射肯定有远程映射,就是把-L换成-R,这样我们访问远程主机的端口就相当于访问本地的端口,但我没发现该功能的更多用途。

如果你没有什么中间服务器,只是想做个端口映射,那也很简单,如下:

ssh -N -f -L 12345:12.3.4.5:22 test@12.3.4.5

就是把远程服务器地址写成中间服务器地址就完事了。

学习完ssh这些用法后有没有对ssh产生无比崇敬的心情的,各种膜拜啊。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏即时通讯技术

新手入门:史上最全Web端即时通讯技术原理详解前言 学习交流 更多资料一、传统Web的通信原理二、传统通信方式实现IM应用需要解决的问题三、全双工低延迟的解决办法 五、WebSocket结束语

浏览器本身作为一个瘦客户端,不具备直接通过系统调用来达到和处于异地的另外一个客户端浏览器通信的功能。这和我们桌面应用的工作方式是不同的,通常桌面应用通过sock...

1003
来自专栏从零开始学自动化测试

jenkins上新增一个Mac的slave-agent

前言 如果有一台Mac机作为测试机单独跑自动化,那是极好的,并且很稳,本篇讲解如何把Mac机连到jenkins上作为一个节点单独跑自动化用例。 一、新建节点 系...

6886
来自专栏颇忒脱的技术博客

使用Kubespray安装k8s集群

本文撰写时,Kubespray的master分支不稳定,请使用release版本来安装,具体来说就是切换到最新的tag上。

4513
来自专栏菩提树下的杨过

基于spring-boot的rest微服务框架

周末在家研究spring-boot,参考github上的一些开源项目,整了一个rest微服务框架,取之于民,用之于民,在github上开源了,地址如下:

1661
来自专栏极客慕白的成长之路

HTTP协议原理及实践

HTTP是在应用层,基于传输层 0x1 低三层 物理层主要作用是定义物理设备如何传输数据 数据链路层在通信的实体间建立数据链路连接 网络层为数据在结...

1283
来自专栏安智客

GP规范中定义的四种SE访问控制架构

GP规范给人的感觉好像有点晦涩难懂,由于是规范,所以比较抽象,而且GP这个组织的专家们来自世界各地,大家都用英语文档交流,所以不同的文档风格不同,难免大家阅读起...

1992
来自专栏小樱的经验随笔

使用VMWareWorkstation10搭建学习环境笔记

第一节:介绍虚拟化技术 虚拟化技术 1.在一台计算机运行多个操作系统 2.教学环境 测试环境 3.和硬件无关 4.P to V   物理机->虚拟机(Physi...

6835
来自专栏张戈的专栏

libmemcached编译安装报错解决记录

我负责的几个公司内部网站,仅集成了 php 原生 memcache 组件,不支持 memcached 分片存储的自动容灾方案,近期出现过几例因 memcache...

4719
来自专栏小文网

查看QQ闪照的方法

来源http://www.xiaowennet.com/Study/date20180722-id101.html

4934
来自专栏零基础使用Django2.0.1打造在线教育网站

socket模拟发送http请求

嗨,小伙伴们,好久不见~~~,最近博主在研究socket编程,觉得socket真的好强大。之前一直我们都是在介绍爬虫的requests、urllib等库,我们知...

8302

扫码关注云+社区

领取腾讯云代金券