跳到主要内容

用云雀通安全连接开发/生产服务器:不开放 22 端口,也能稳定 SSH

· 阅读需 7 分钟
Larktun Contributor

我最近申请了一台免费的甲骨文云服务器:4 核 CPU、24G 内存,作为开发服务器来说相当宽裕。它可以跑测试服务、构建任务、数据库实验环境,也可以在需要时临时承担一些生产辅助任务。

但只要这台机器要远程 SSH,一个经典问题就会立刻出现:要不要把 22 端口暴露到公网?

我的答案很明确:不要。

通过云雀通安全访问云端开发/生产服务器

为什么不直接开放 22 端口

云服务器通常自带公网 IP,看起来只要在安全组里放行 22 端口,再用 ssh user@public-ip 就能登录。这个方案简单,却也把服务器放到了持续扫描的公网环境里。

更现实的是,我的家庭宽带没有固定公网 IPv4。

如果有固定 IP,还可以在云厂商安全组里只允许自己的办公或家庭出口访问 22 端口。可家庭宽带 IP 会变化,移动办公、出差、酒店网络、手机热点也都不稳定。最后很容易走向两个不理想的选择:

  • 放开 0.0.0.0/0:22,让全网都能尝试连接。
  • 不断维护白名单,网络一换就连不上服务器。

对开发服务器来说,这会带来无谓的安全噪音;对生产服务器来说,这更不应该成为日常运维入口。

云雀通适合解决这个问题

云雀通的思路不是“把服务器端口暴露出去”,而是让服务器和自己的电脑加入同一张受控的私有网络。

你可以把它理解为:公网入口仍然关着,但被授权的设备之间多了一条安全的内部通道。SSH 不再需要面对整个互联网,只需要面对云雀通网络里的可信设备。

下面这张拓扑图把两层网络分开了:公网网络仍然存在,用于账号登录、路径发现和必要时的中继承载;真正的 SSH 访问发生在云雀通私有网络内。网络条件允许时,两端可以通过 IPv6 或其它公网可达路径建立 P2P 直连,降低延迟;如果 IPv4/NAT 环境限制较多,也可以走加密中继保持可达。

云雀通安全 SSH 网络拓扑:公网网络、云雀通私有网络、IPv4/IPv6 直连和中继路径

整体结构很简单:

  1. 在开发/生产服务器上部署云雀通程序,并登录自己的账号。
  2. 在笔记本或台式机上安装桌面版云雀通客户端,并使用同一个账号登录。
  3. 两台设备出现在同一个云雀通网络中,可以通过设备名或云雀通分配的私有地址互相访问。
  4. 云服务器安全组继续关闭公网 22 端口,只保留业务真正需要暴露的端口。
  5. 在本地电脑上执行 SSH,目标改为服务器的云雀通地址或设备名。

这时,服务器不需要为 SSH 开公网入口。真正能访问它的,是通过账号、设备身份和权限规则加入同一张网络的客户端。

部署在服务器上会不会重

很多人担心在云服务器上额外部署一个网络程序会不会占资源。对这类场景来说,云雀通程序体积很小,运行时内存占用也很低,不会成为服务器负担。

尤其是 4 核 24G 这类云服务器,云雀通更像一个轻量的安全入口:平时安静运行,只有在设备上线、连接建立、流量转发时才发挥作用。它不改变你的应用架构,也不要求把生产服务迁移到新的平台。

它只负责把“谁可以安全到达这台服务器”这件事处理好。

实际访问流程

假设云服务器已经安装并登录云雀通,笔记本也已经安装桌面客户端。接下来可以在云雀通控制台或客户端里确认服务器在线,然后使用类似下面的方式连接:

ssh ubuntu@dev-server

或者直接使用云雀通分配的私有地址:

ssh ubuntu@100.x.y.z

这里的 dev-server100.x.y.z 只在你的云雀通网络内有意义。公网用户即使扫描你的云服务器公网 IP,也看不到开放的 SSH 入口。

如果你的网络环境较好,云雀通会尽量让设备之间直连,从而降低数据延迟。尤其当两端都有 IPv6 时,直连路径往往更容易建立,访问体验会更接近“本机就在身边”。

如果因为 NAT、运营商网络或办公网络限制无法直连,也可以通过中继路径保持可达。对使用者来说,通常不需要关心中间到底选择了哪条路径,只需要知道连接是经过身份认证和权限约束的。

生产环境还应该注意什么

云雀通能解决“不要把 SSH 暴露到公网”的问题,但它不应该替代服务器本身的安全基线。真实生产环境里,我仍然建议同时做好这些事:

  • SSH 使用密钥登录,关闭密码登录。
  • 为普通运维用户配置最小权限,不要长期直接使用 root
  • 云厂商安全组关闭公网 22 端口,服务器防火墙也保持一致策略。
  • 在云雀通中用 ACL 约束谁能访问生产服务器,而不是让所有设备默认互通。
  • 为临时协作使用临时授权,任务结束后及时回收权限。
  • 保持系统和 SSH 服务更新,避免把过期组件留在入口链路上。

换句话说,云雀通负责把入口收进私有网络;服务器自身仍然要保持良好的安全习惯。

开发和生产都能受益

对开发服务器来说,云雀通让环境访问更自由。你可以在家里、公司、路上或临时办公地点安全登录服务器,不再被家庭宽带是否有固定公网 IP 绑定。

对生产服务器来说,它让运维入口更克制。公网不需要开放 SSH,攻击面更小;团队成员访问也能通过账号、设备和 ACL 进行管理,而不是依赖一堆散落在各处的公网 IP 白名单。

它也很适合下面这些场景:

  • 访问云上的开发机、构建机、测试环境。
  • 在不暴露端口的情况下管理生产服务器。
  • 从笔记本安全连接数据库、Redis、内部面板等只应在私网访问的服务。
  • 临时给团队成员开放某台服务器的运维访问。
  • 在 IPv6 条件较好的网络中获得更低延迟的直连体验。

一举两得的连接方式

这件事最吸引我的地方在于,它同时解决了两个问题。

第一,安全上不再需要把 22 端口放到公网。服务器仍然在云上,公网业务照常运行,但 SSH 管理入口只留给被授权的云雀通设备。

第二,访问体验并没有因此变复杂。笔记本安装桌面客户端,服务器部署轻量程序,登录同一个账号之后,两端就像进入同一张私有网络。网络条件好时还能直连,把延迟降到更低。

对个人开发者来说,这是一种很省心的服务器访问方式。对团队和生产环境来说,它也是一种更清晰、更容易治理的运维入口。

公网的门可以关上。

需要的人,仍然有一条安全的路可以进去。