SSH 端口转发与 SOCKS 代理
SSH port forwarding 端口转发的三种方式
Local Port Forwarding 本地端口转发
将连接从客户端主机转发到 SSH 服务器主机,然后转发到目标主机端口。
ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER
复制代码
参数说明:
[LOCAL_IP:]LOCAL_PORT - 本地 IP 和端口号,LOCAL_IP 默认是 localhost。
DESTINATION:DESTINATION_PORT - 目标机器的 IP 地址和端口号。
[USER@]SERVER_IP - 远程 SSH 地址和登录用户。
案例:
使用本地地址 127.0.0.1:3336 连接远程的数据库 db001.host:3306,同时 127.0.0.1:3337 连接到 db002.host:3306:
ssh -L 3336:db001.host:3306 3337:db002.host:3306 user@pub001.host
复制代码
检查 SSH Server 配置:AllowTcpForwarding=yes
Remote Port Forwarding 远程端口转发
远程端口转发与本地端口转发相反。 它允许您将远程(ssh 服务器)机器上的端口转发到本地(ssh 客户端)机器上的端口,然后再转发到目标机器上的端口。
远程端口转发主要用于向外部人员提供对内部服务的访问权限。
ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER
复制代码
参数说明:
[REMOTE:]REMOTE_PORT - 远程服务器地址和端口号。REMOTE 默认会所有地址。
DESTINATION:DESTINATION_PORT - 目标机器的 IP 地址和端口号。
[USER@]SERVER_IP - 远程 SSH 地址和登录用户。
案例:
ssh -R 8080:127.0.0.1:3000 -N -f user@remote.host
复制代码
上面的命令将使 ssh 服务器侦听端口 8080,并将所有流量从此端口传输到本地计算机的 3000 端口上。这样就可以在浏览器中输入 the_ssh_server_ip:8080 访问应用了。
检查 SSH Server 配置:GatewayPorts=yes
Dynamic Port Forwarding 动态端口转发
动态端口转发允许您在本地(ssh 客户端)机器上创建一个套接字,它充当 SOCKS 代理服务器。 当客户端连接到这个端口时,连接被转发到远程(ssh 服务器)机器,然后被转发到目标机器上的动态端口。
ssh -D [LOCAL_IP:]LOCAL_PORT [USER@]SSH_SERVER
复制代码
参数说明:
[LOCAL_IP:]LOCAL_PORT - 本地 IP 地址和端口号。LOCAL_IP 默认是 localhost。
[USER@]SERVER_IP - 远程 SSH 地址和登录用户。
案例:
ssh -D 8080 -N -f -C -q user@remote.host
复制代码
-D 8080 启动一个 SOCKS 服务并监听本地的 9090 端口
-f 后台运行
-C 压缩请求数据
-q 使用静默模式
-N 不执行远程命令
SOCKS 代理使用场景
cURL 代理
curl -x socks5://127.0.0.1:8080 https://google.com
复制代码
终端代理
export http_proxy=socks5://127.0.0.1:8080 \https_proxy=socks5://127.0.0.1:8080 \all_proxy=socks5://127.0.0.1:8080
复制代码
Git 代理
git config --global http.proxy socks5://127.0.0.1:8080
git config --global https.proxy socks5://127.0.0.1:8080
复制代码
SSH 代理
编辑 ~/.ssh/config:
Host github.comHostName github.comUser gitIdentityFile ~/.ssh/id_rsaProxyCommand nc -v -x 127.0.0.1:8080 %h %p
最后
如果你觉得此文对你有一丁点帮助,点个赞。或者可以加入我的开发交流群:1025263163相互学习,我们会有专业的技术答疑解惑
如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star:http://github.crmeb.net/u/defu不胜感激 !
PHP学习手册:https://doc.crmeb.com
技术交流论坛:https://q.crmeb.com
SSH 端口转发与 SOCKS 代理相关推荐
- SSH隧道技术----端口转发,socket代理
原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...
- 代理/ssh端口转发
代理/ssh端口转发 所需软件 windows SSR choco choco安装的openssh ubuntu openssh 目的 发现github用clone很慢,于是想要用代理. 测试及失败原 ...
- 【转】实战 SSH 端口转发
本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html,至于有什么用,懂的懂! 实战 SSH 端口转发 通 ...
- 实战 SSH 端口转发
2019独角兽企业重金招聘Python工程师标准>>> 第一部分 概述 当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室的防火墙阻 ...
- SSH端口转发Forwarding及隧道Tunneling
目录 概述 环境及术语约定 本地转发 远程转发 动态转发 多级转发 概述 我们先来了解一下端口转发的概念吧.我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据.但是,SSH ...
- [笔记]SSH 端口转发
ssh 拥有很强大的能力,因为在服务器运维中一直在使用 ssh ,因此探讨 ssh 的功能能够在日常开发过程中受益颇多,这里描述下 ssh 的三种端口转发功能.灵活使用可以大大简化我们的开发过程. 准 ...
- 通过 SSH 端口转发实现异地内网服务器互通
异地内网服务器互通,直接通过路由器映射也可以做到,但是由于公网IP并不是固定的,因此这里介绍通过 SSH 端口转发,实现的固定IP访问 场景:内网机器 A.无固定IP机器B.固定IP机器C,其中 B ...
- ssh端口转发(之kettle ssh方式连接数据库)
ssh参数解释 格式 ssh [user@]host [command] 选项: -1:强制使用ssh协议版本1: -2:强制使用ssh协议版本2: -4:强制使用IPv4地址: -6:强制使用IP ...
- 用树莓派学Linux(三)--------SSH端口转发,跳出局域网的树莓派控制
上一篇提到的通过SSH服务连接树莓派,是在局域网内实现的,并不能远程控制,比如树莓派在实验室,你用手机在4G网的环境下也需要操作树莓派,则需要考虑使用SSH服务的端口转发功能,实现真正的远程控制.本篇 ...
- SSH端口转发(ssh隧道)
在打DarkHole2靶机的时候,使用到了ssh端口转发,在网上搜集了很多资料,特此记录下来,以便后续查找 ssh端口转发 SSH 隧道 本地端口转发 远程端口转发 动态端口转发 当我们需要访问一台主 ...
最新文章
- 2021年大数据ELK(十八):Beats 简单介绍和FileBeat工作原理
- android 封装的popwindow,Android UI开发 popupwindow介绍以及代码实例
- 《异步处理在分布式系统中的优化作用》学习笔记
- 第一课.图与图神经网络
- Queue 队列的用法
- MyBatis Plus Generator——MyBatis Plus代码生成器DEMO
- py-faster-rcnn代码roidb.py的解读
- DOM属性用法速查手册
- Boost 库Program Options--第二篇
- oracle减法函数mius_Oracle常用函数及其用法
- 云龙51单片机视频教程+课件+程序代码+课后作业,零基础入门视频教程
- 我的世界手机版javaui材质包_传奇世界有元神怀旧版下载-传奇世界有元神怀旧版手机下载v1.0...
- 【波束形成】MMSE波束形成,自适应MMSE波束形成以及自适应MBER波束形成
- php 爬虫 执行js,使用PyV8在Python爬虫中执行js代码
- pytorch 注意力机制
- 江苏高中考计算机,【江苏985录取率】_各省高考985录取率排名,江苏最让人“心疼”,倒数第二...
- tensorflow 2.0 Layer定义的源码分析
- 2.C++-选择排序、冒泡排序、插入排序、希尔排序、归并排序、快速排序
- 开源开放 | 面向家庭常见疾病的知识图谱(东南大学)
- java高并发实际处理简介
热门文章
- PDI-KETTLE-4 使用Kettle完成通用DB数据获取生成指定分隔符的文件并通过FTP上传的功能...
- 全球最最可爱的的10种著名小型犬
- PixelLink: Detecting Scene Text via Instance Segmentation算法详解
- MSSQL_8 操作结果集
- 错误:1 error and 0 warnings potentially fixable with the `--fix` option. 报错问题解决方法
- 烤仔建工 | 元宇宙开门红就是中国红!
- jq如何改变html页面,jq同一页面内容切换
- EBS开发_应收发票接口导入
- 产品经理的年终总结可以这样写
- 笔记本计算机硬盘如何分盘,笔记本分盘,小编教你笔记本硬盘如何分区