分正向和反向。

假设,本地机器可以ssh连上远程机器。本地机器在下面叫做SSHClient, 远程机器叫做SSHServer.

一、 正向代理(本地转发)

在SSHClient机上执行:

: SSHServer -p22
注意:
1. 蓝色部分就是一个ssh语句。绿色是本地。红色是远程。
2. 这里面的"localhost"指的是SSHServer机上的localhost。而绿色1234才是本地。
3. 这条命令的作用是:在本机(SSHClient机)上打开一个端口1234,这个1234能把接收的数据转发到SSHServer机上的12300端口.
4. 注意SSHClient机上的1234在SSHClient的localhost上。如果希望SSHClient的同内网其他机器(能够直接访问SSHClient的机器)也能访问这个1234,怎开办呢?加-g参数:
ssh -g -NfL 1234:localhost:12300 SSHServer -p22
(加-g参数前后,可以看看 lsof -i :1234 的区别: LISTEN从localhost变为*了~)
也可以这样:
ssh -NfL 0.0.0.0:1234:localhost:12300 SSHServer -p22
5. 如果想转发的是SSHServer机器上可以访问的其他服务,比如www.baidu.com:80,那就把上面命令里的红色换成www.baidu.com:80即可。然后浏览器打开localhost:1234,却发现然并卵——"Empty reply from server"。。。其实已经转发成功了,但是对于http应该这样: curl -H "Host: www.baidu.com" -X GET http://localhost:1234

二、反向代理(远程转发)

在SSHClient机上执行:

:localhost:22  SSHServer -p22
注意:
1. 蓝色部分就是一个ssh语句。绿色是本地。红色是远程。
2. 这里面的"localhost"指的就是本机(SSHClient机)上的localhost。而红色是远程机上开了个‘洞’。这时上SSHServer上 lsof -i :2222 就会发现已经打开了端口监听。
3. 这条命令的作用是:在远程机器SSHServer上开了一个端口2222, 这个2222会把接收到的数据转发到SSHClient上的22端口。
(22是ssh,那么登上SSHServer用ssh连SSHClient试试: ssh user@SSHClient -p2222  这里假设SSHClient机上面也安装了ssh服务)

最新文章

  1. BZOJ 1711: [Usaco2007 Open]Dining吃饭
  2. SEO:避免关键词内部竞争带来的无法收录问题,
  3. Python3的decode()与encode()
  4. UITableView的添加、删除、移动操作
  5. 获取到body的offsetTop和offsetLeft值
  6. hdu1710(Binary Tree Traversals)(二叉树遍历)
  7. java中字节流和字符流的区别
  8. 加载php_curl.dll和php_openssl.dll出错原因及解决办法
  9. C. Karen and Game
  10. 在Docker Hub上查找可用的Image映像
  11. 初窥 MongoDB
  12. opencl 和Renderscript总结
  13. svn conflict 冲突解决
  14. ASP.NET 发送邮件 SMTP
  15. Freeradius服务器的搭建流程
  16. 背水一战 Windows 10 (108) - 通知(Tile): application tile 基础, secondary tile 基础
  17. Apache POI导出excel表格
  18. C#中的命名空间namespace与Java中的包package之间的区别
  19. 转:android root tcpdump抓包强烈推荐
  20. idea 开启 problems自动代码检查

热门文章

  1. PhotoShop 常用快捷键
  2. Java Swing提供的文件选择对话框 - JFileChooser
  3. Ucinet6 + Netdraw 根据excel文件绘制网络拓扑图
  4. 配置CentOS6.5的yum源
  5. 计蒜客-跳跃游戏二 (简单dp)
  6. Easydarwin加FFMPEG实现HLS流视频点播
  7. 从字符集发展史看Unicode和UTF-8的区别
  8. osds have slow requests
  9. python-memcached包使用方法
  10. JavaScript:变量提升和函数提升