Linux CI社区

极客分享论坛,让每个想法都被构建。

关于小黑屋帮助FAQ协议
Linux CI社区 @ 2026
🏠首页
📚社区节点
分享发现日常闲谈OpenZiti技术硬件交易工具开发推广站务
2

这个楼主还没有留下简介。

回复讨论
0

登录后可参与回复讨论。

Linux CI社区

登录后即可签到、查看积分与快捷发帖

Linux CI社区 - 以 Linux 与开源为底色,聊 AI、聊开发、聊生活,极客分享论坛,让每个想法都被构建。

相关主题

OpenZiti 入门(21):通过远端节点访问指定 HTTPS 服务OpenZiti 入门(20):Docker 部署后服务访问失败,如何排查?OpenZiti 入门(19):用 ziti-host 容器接入 Docker 应用OpenZiti 入门(18):让 Docker 中的 Web 应用通过 OpenZiti 访问OpenZiti 入门(17):使用 Docker Compose 部署 OpenZiti

主题标签

全部标签
暂无标签

当前还没有回复,欢迎成为第一个参与讨论的人。

文明发言,理性讨论
首页
社区节点
社区节点 节点
分享发现帖 8日常闲谈帖 17OpenZiti帖 22技术帖 201硬件帖 0交易帖 1053工具帖 0开发帖 7推广帖 29站务帖 8
OpenZiti

OpenZiti 入门(16):Linux 客户端加入网络并访问 SSH

第 15 篇在独立 Ubuntu 服务器上部署了 Linux Tunneler,并创建了 private-ssh 服务。本篇让另一台 Ubuntu 电脑作为客户端加入同一个 OpenZiti 网络,通过 private-ssh.ziti 访问该服务。

本文沿用以下资源:

text
SSH 服务:private-ssh 服务地址:private-ssh.ziti:22 服务端身份:ubuntu-ssh-host 新客户端身份:ubuntu-ssh-client

客户端需要能够访问 Controller 的 Edge API 和至少一个在线 Edge Router。

  1. 在 Controller 上创建客户端身份。

    登录 Quickstart Controller 的 CLI:

    bash
    source "$HOME/.ziti/quickstart/$(hostname -s)/$(hostname -s).env" zitiLogin

    创建一个独立身份,并输出一次性注册令牌:

    bash
    ziti edge create identity ubuntu-ssh-client \ -o ubuntu-ssh-client.jwt

    通过安全的现有管理通道,把 JWT 文件传到 Linux 客户端的用户目录。

  2. 为新身份添加 Dial 授权。

    第 15 篇的 private-ssh-dial 授权的是 Windows 身份。现在新增一条策略,允许 Linux 身份访问同一个服务:

    bash
    ziti edge create service-policy private-ssh-linux-dial Dial \ --identity-roles '@ubuntu-ssh-client' \ --service-roles '@private-ssh'

    检查客户端的策略关系:

    bash
    ziti edge policy-advisor services private-ssh ubuntu-ssh-client -q

    预期应看到 Dial 授权,并且身份与服务有共同的在线 Router。Policy Advisor 检查的是策略关系,实际连接还需要在客户端验证。OpenZiti 策略文档介绍了这一检查方法。

  3. 在 Linux 客户端安装并注册 Tunneler。

    在客户端 Ubuntu 上,按第 15 篇的方法安装包:

    bash
    sudo apt update sudo apt install -y curl gpg curl -fsSL https://get.openziti.io/tun/scripts/install-ubuntu.bash \ -o install-openziti-tunnel.bash cat install-openziti-tunnel.bash bash install-openziti-tunnel.bash

    启动服务,然后注册身份:

    bash
    sudo systemctl enable --now ziti-edge-tunnel.service sudo ziti-edge-tunnel add \ --jwt "$(< ./ubuntu-ssh-client.jwt)" \ --identity ubuntu-ssh-client

    确认服务运行状态:

    bash
    systemctl status ziti-edge-tunnel.service --no-pager

    Linux Tunneler 的透明代理会配置本机的 Ziti 域名解析和路由。该模式下,本机用户和进程可以使用已加载身份获准访问的服务,因此应按设备用途管理身份和授权范围。Linux Tunneler 文档对此有说明。

  4. 检查域名解析并连接 SSH。

    在 Linux 客户端执行:

    bash
    getent ahostsv4 private-ssh.ziti

    正常情况下应返回 Ziti 分配的虚拟地址,具体地址取决于 Tunneler 配置。随后连接:

    bash
    ssh 用户名@private-ssh.ziti

    将用户名替换为目标 Ubuntu 上的实际账号。首次连接时,通过可信管理通道核对目标服务器的 SSH 主机密钥指纹。Ziti 授权通过后,SSH 仍会验证 Ubuntu 用户凭据。

如果域名无法解析,先确认 ubuntu-ssh-client 已注册、Dial 策略已生效,并检查 Tunneler 日志:

bash
sudo journalctl -u ziti-edge-tunnel.service -n 50 --no-pager

使用 systemd-resolved 的客户端还可以通过 resolvectl dns 和 resolvectl domain 检查 DNS 配置;其他解析器需要按本机网络管理方式配置。具体方法见官方 Linux Tunneler 排查指南。

新建的 private-ssh-linux-dial 策略没有自动继承前文的 Posture Check;如需限制客户端状态,请把相应检查关联到这条策略。

Linux CI
Linux CI
五子棋五子棋

推广广告位

说明
图片广告位 1
点击购买
Zoo全球稳定纯净住IP海外服务器租用M实名可U点击购买点击购买点击购买点击购买
·1小时前
OpenZITI