惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
B
Blog
博客园_首页
博客园 - 司徒正美
有赞技术团队
有赞技术团队
博客园 - 聂微东
I
InfoQ
美团技术团队
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
用一台闲置小鸡,搭个私有版 ngrok(sish 内网穿透实战)
lulas · 2025-12-25 · via V2EX

手里正好有一台 VMRack 的闲置 小鸡,性能一般但胜在公网 IP 稳定。与其吃灰,不如拿来干点实事,于是折腾了一套 基于 sish 的私有内网穿透服务,效果比预期好不少。

简单说一句结论: 够轻、够稳、够省事,个人或小团队完全够用。

sish 是一个开源的反向隧道项目,功能上和 ngrok 类似,但部署在自己服务器上,完全可控。

为什么选 sish ? 用下来有几个点比较打动我:

客户端零安装:只要有 SSH ,任何系统都能用 服务端自动申请 HTTPS 证书:直接走 Let’s Encrypt 支持泛域名:每个服务一个子域名,很清爽 资源占用极低:小鸡也能跑 安全可控:公钥白名单,谁能用你说了算 一句话总结:

非商业场景下,这是我目前最顺手的内网穿透方案。

:zero: 前置条件 在开始前,你需要准备:

一台 有公网 IP 的 Linux VPS (本文使用的是 VMRack 云服务,其他商家同理) 一个域名(强烈建议托管在 Cloudflare ) 本地机器已配置 SSH key :one: Cloudflare 侧的 DNS 设置 在 Cloudflare 面板新增一条解析:

Name:*(泛解析) Content:你的 VPS 公网 IP Proxy status:DNS only (灰云) :warning: 这里一定不要开小黄云,否则证书和回源都会出问题。

如果你习惯分开用,也可以单独加一条:

ssh.your-domain.xyz → VPS_IP :two: 调整 VPS 默认 SSH 端口(很关键) 为了让 sish 直接监听 22 端口,必须先把系统自带的 SSH 挪走,否则会冲突。

编辑配置文件:

vim /etc/ssh/sshd_config 修改为类似这样:

Port 10000 #Port 22 重启 SSH 服务:

systemctl restart sshd :warning: 注意事项:

之后登录 VPS 记得带 -p 10000 防火墙提前放行:10000 / 80 / 443 :three: 安装 sish 并准备运行环境 这一步主要是做三件事: 建用户 → 下程序 → 准备密钥

直接按顺序执行即可。

创建系统用户

useradd --system --home /opt/sish --shell /usr/sbin/nologin sish || true mkdir -p /opt/sish/{ssl,keys,pubkeys,templates} chown -R sish:sish /opt/sish 下载并安装 sish (二进制版,amd64 ):

cd /tmp wget https://github.com/antoniomika/sish/releases/download/v2.20.0/sish-2.20.0.linux-amd64.tar.gz tar -xvf sish-2.20.0.linux-amd64.tar.gz install -m 0755 sish-2.20.0.linux-amd64/sish /usr/local/bin/sish 拉取默认模板:

git clone --depth 1 https://github.com/antoniomika/sish.git /tmp/sish-src cp -r /tmp/sish-src/templates /opt/sish/ chown -R sish:sish /opt/sish/templates 生成服务端 SSH Host Key:

sudo -u sish ssh-keygen -t ed25519 -N "" -f /opt/sish/keys/ssh_host_ed25519_key rm /opt/sish/keys/ssh_host_ed25519_key.pub :four: 启用公钥鉴权(防止被白嫖) sish 默认支持 SSH 公钥白名单,这一点非常加分。

在你本地电脑上查看自己的公钥:

cat ~/.ssh/id_ed25519.pub 然后在 VPS 上写入:

echo "你的公钥内容" > /opt/sish/pubkeys/me.pub chown sish:sish /opt/sish/pubkeys/me.pub 之后,只有这个 key 才能建立隧道连接。

:five: 配置 systemd 服务(核心) 创建服务文件:

vim /etc/systemd/system/sish.service 注意替换你自己的域名和邮箱:

[Unit] Description=sish tunnel server After=network-online.target

[Service] User=sish Group=sish WorkingDirectory=/opt/sish

AmbientCapabilities=CAP_NET_BIND_SERVICE CapabilityBoundingSet=CAP_NET_BIND_SERVICE NoNewPrivileges=true

ExecStart=/usr/local/bin/sish
--ssh-address=:22
--http-address=:80
--https-address=:443
--domain=your-domain.xyz
--authentication=true
--authentication-keys-directory=/opt/sish/pubkeys
--private-keys-directory=/opt/sish/keys
--https
--https-certificate-directory=/opt/sish/ssl
--https-ondemand-certificate
--https-ondemand-certificate-accept-terms
--https-ondemand-certificate-email=your-email
--bind-random-subdomains=false
--force-requested-subdomains=true

Restart=always RestartSec=2 LimitNOFILE=1048576

[Install] WantedBy=multi-user.target 启动并检查状态:

systemctl daemon-reload systemctl enable --now sish systemctl status sish :six: 实际使用(真的只要一行) 假设你本地有个 Web 服务跑在 8080 ,想映射到公网:

ssh -R dev:80:127.0.0.1:8080 ssh.your-domain.xyz 成功后可直接访问:

https://dev.your-domain.xyz http://dev.your-domain.xyz 首次 HTTPS 访问稍慢是正常的,sish 会自动去申请证书。

一些使用中的坑与提醒 HTTPS 首次访问 ≈ 等证书,不是卡死 Cloudflare 必须灰云 公钥没放进 /opt/sish/pubkeys/ 一定连不上 VMRack 这类小鸡跑 sish 非常合适,CPU 和内存几乎没压力 总结一句 如果你手里也有一台 VMRack 或其他闲置 VPS , 不想再折腾花里胡哨的客户端, sish 是一个非常干净、实用、长期可用的内网穿透方案。

后续我也准备用它挂开发环境、Webhook 、临时服务,比公网开端口舒服多了。