首页
苏兮影视
随笔记
壁纸
更多
直播
时光轴
友联
关于
统计
Search
1
软件添加id功能按钮
708 阅读
2
v2ray节点搭建
508 阅读
3
typecho非常有特色的模块
460 阅读
4
QQxml消息卡片生成源码
421 阅读
5
Linux下提权常用小命令
366 阅读
谈天说地
建站源码
经验教程
资源分享
动漫美图
登录
Search
标签搜索
java
flutter
springboot
rust
安卓
linux
vue
docker
joe
快捷键
git
fish shell
maven
redis
netty
dart
groovy
js
设计模式
rpc
尽意
累计撰写
95
篇文章
累计收到
38
条评论
首页
栏目
谈天说地
建站源码
经验教程
资源分享
动漫美图
页面
苏兮影视
随笔记
壁纸
直播
时光轴
友联
关于
统计
搜索到
1
篇与
的结果
使用 SSH 端口转发实现内网穿透
SSH 端口转发是一种高效、安全的方式,可以将本地服务暴露到远程服务器,或者将远程服务映射到本地。SSH 端口转发的类型本地端口转发 (-L) 将远程服务器上的服务映射到本地端口,用于访问远程服务。ssh -L [本地地址:本地端口]:[远程地址:远程端口] user@your-server示例:ssh -L 8080:localhost:80 user@your-server本地 8080 端口映射到远程服务器的 80 端口。本地访问 http://localhost:8080,即访问远程服务器的 http://localhost:80。远程端口转发 (-R) 将本地服务映射到远程服务器的端口,用于将本地服务暴露到外网。ssh -R [远程地址:远程端口]:[本地地址:本地端口] user@your-server示例:ssh -R 0.0.0.0:8888:localhost:8080 user@your-server远程服务器的 8888 端口映射到本地的 8080 端口。外部访问 http://your-server:8888,即可访问本地的 http://localhost:8080。动态端口转发 (-D) 将本地端口作为 SOCKS 代理,用于动态访问任意远程服务。ssh -D [本地地址:本地端口] user@your-server示例:ssh -D 127.0.0.1:1080 user@your-server本地 127.0.0.1:1080 作为 SOCKS 代理,可通过浏览器等工具配置访问外网。配置 /etc/ssh/sshd_config 文件为了使远程端口转发(-R)正常工作,可能需要修改远程服务器的 SSH 配置文件 /etc/ssh/sshd_config。关键配置项允许 TCP 转发确保以下配置为 yes:AllowTcpForwarding yes启用网关端口使远程端口可以绑定到非本地地址:GatewayPorts yesGatewayPorts no:默认值,只允许绑定到 127.0.0.1(本地回环地址)。GatewayPorts yes:允许绑定到所有地址。GatewayPorts clientspecified:根据客户端的 -R 命令指定绑定地址。重启 SSH 服务修改配置后,重启 SSH 服务使其生效:sudo systemctl restart sshd常用组合参数1. 保持连接活跃 (-fN)-f:在连接建立后,SSH 会后台运行。-N:只建立端口转发,不执行远程命令。ssh -fN -L 8080:localhost:80 user@your-server2. 指定绑定地址-L 本地绑定地址:127.0.0.1 仅本地访问,0.0.0.0 外部可访问。-R 远程绑定地址:同样使用 127.0.0.1 或 0.0.0.0。ssh -R 0.0.0.0:8888:localhost:8080 user@your-server3. 动态端口转发 + 指定 SOCKS 代理使用 -D 开启动态端口转发,将本地端口作为 SOCKS 代理:ssh -D 127.0.0.1:1080 user@your-server4. 禁用伪终端-T:禁用伪终端分配,用于纯端口转发:ssh -T -R 8888:localhost:8080 user@your-server5. 指定配置文件-F:使用自定义 SSH 配置文件:ssh -F ~/.ssh/custom_config -L 8080:localhost:80 user@your-server远程端口转发的安全性考虑限制绑定地址如果不需要外网访问,建议远程端口绑定到 127.0.0.1,避免暴露服务:ssh -R 127.0.0.1:8888:localhost:8080 user@your-server强制使用 SSH 密钥认证配置服务器强制使用密钥认证,避免账户被暴力破解:PasswordAuthentication no监控转发端口的使用在远程服务器上监控端口转发的使用情况:netstat -tlnp完整案例1. 将本地服务暴露到远程服务器并开放外网访问ssh -R 0.0.0.0:8888:localhost:8080 user@your-server在远程服务器的 8888 端口监听,外部可通过 http://your-server:8888 访问。2. 映射远程服务到本地ssh -L 8080:localhost:80 user@your-server将远程服务器的 80 端口映射到本地 8080,本地访问 http://localhost:8080。3. 配置 SOCKS 代理ssh -D 127.0.0.1:1080 user@your-server本地 127.0.0.1:1080 作为 SOCKS 代理,可代理访问外网。
2025年01月08日
7 阅读
0 评论
2 点赞