Home

JupyterHub 进阶实践:集成 Azure AD 实现企业级单点登录 (二期)

引言 在一期部署中,我们成功搭建了基于 SystemdSpawner 与本地 PAM 认证的多用户 JupyterHub。随着团队规模的扩大,手动管理 Linux 用户、维护密码不仅繁琐,而且无法满足企业对单点登录(SSO)与多因素认证(MFA)的安全合规要求。 本期我们将 JupyterHub 升级为 Azure AD(Microsoft Entra ID)OAuth2 认证。由于一期已经严格遵循了统一的用户名规范,本次升级无需迁移已有用户数据,可以实现无痛过渡。

Read more

JupyterHub 极简部署实践:基于 SystemdSpawner 与本地 PAM 认证 (一期)

为什么选择 JupyterHub + SystemdSpawner 多用户 Jupyter 平台常见方案是基于 Kubernetes (Zero to JupyterHub) 或 Docker (DockerSpawner)。但对于中小团队或单机部署,Kubernetes 维护成本过高,DockerSpawner 存在数据权限映射和容器管理开销。 我们需要一个更轻量、贴合宿主机环境的方案。SystemdSpawner 是一个理想的选择:它能够利用 Linux 原生 systemd 服务的 cgroup 限制 CPU 和内存资源,且用户打开 Terminal 直接就是真实的宿主机 Shell,方便使用宿主机已安装的各种开发工具。这非常适合单机、多用户的高效共享开发服务器。

Read more

如何使用 NetBird 快速构建企业级安全内网

为什么选择 NetBird 随着企业业务的分布式发展和远程办公的普及,构建一个安全、高效且易于管理的内网变得至关重要。传统的 VPN 解决方案(如 OpenVPN、IPsec)配置繁琐,对客户端支持有限,且由于中心化架构容易产生网络瓶颈。 我们需要一个现代化的替代方案,它应该具备以下特质:部署简单、配置下发自动化、基于点对点直连(降低延迟),且拥有直观的管理面板。这就是我们选择 NetBird 的原因。它不仅满足上述所有需求,还完美地平衡了企业级安全需求与极简的运维体验。

Read more

用 Node.js 实现 Windows RDP 自动登录

一台 Windows 机器上有多个账号,其中一个需要在后台保持登录来跑依赖桌面会话的定时任务。手动用远程桌面连一下太原始,改注册表 AutoAdminLogon 也只能设默认登录账号,无法在 A 账号已登录的情况下让 B 账号也在后台上线。最终方案:用 Node.js 在本地跑一个 RDP 客户端,连本机 3389 端口把目标账号登上去。

Read more

本地部署 Overleaf + VS Code 打通 + Copilot / Gemini / Claude 辅助写 LaTeX

上文(本地化部署 Overleaf):https://caritasem.github.io/2024/08/latex-on-premise-overleaf-template/ 本文记录两件事: 用 VS Code(Overleaf Workshop 插件)把项目同步到本地编辑,并用 Copilot 做润色/改写等 AI 协作。 1. VS Code 打通 Overleaf(Overleaf Workshop) step 1:安装插件 在 VS Code 扩展里搜索并安装:Overleaf Workshop。 类 VS Code 编辑器一般也可用(例如 Antigravity),步骤基本一致。 step 2:用 Cookie 登录(相当于以 co-autho...

Read more