Repository navigation
SSH2FA v1.5.11
简体中文
“已连接”现在真的表示 SSH 可用
- SSH2FA 会验证 ControlMaster 能否真正承载会话,不再把“进程还活着但连接不可用”显示为 Connected。
- 自动识别用户已有的
ControlMaster/ControlPath配置,并默认复用温连接;不再要求用户完成一组复杂设置。 - App 与后台服务短暂重连时使用中性的恢复状态;只有真正失败才显示错误和 Troubleshoot。
彻底处理反复密码提示
- daemon 使用跨版本稳定的证书身份;发布脚本会拒绝会导致每次升级重新授权 Keychain 的 ad-hoc 签名。
- 凭据读取和旧数据迁移合并,避免一个主机、一个字段地反复弹出 macOS 密码确认。
升级和排障不再断开 SSH
- 后台服务升级后会接管现有 ControlMaster,而不是关闭它们并强迫用户重新 SSH/2FA。
- 仅 UI 变化或普通重开 App 不再无故重启后台服务。
- Troubleshoot 的服务重启也会保留现有 SSH 连接。
UI 与默认行为
- 修复失败状态下 Retry 按钮被底层悬浮按钮遮挡、实际无法点击的问题。
- 不再向用户暴露 “helper”、daemon、IPC、ControlMaster 等内部术语,也不再把后台恢复误报为 “Connection lost”。
- 删除误导性的后台服务开关;SSH2FA 默认自动管理需要的服务和复用配置。
- 错误信息统一转换为用户可以直接处理的说明。
可靠性
- 包含
v1.5.1之后的 7 轮 daemon、状态持久化、输入校验和 SSH 恢复修复。 - 261 个 macOS 测试和 615 个 Rust 测试通过,0 失败。
English
- Connected now requires a ControlMaster that can actually carry an SSH session.
- Existing
ControlMaster/ControlPathsettings are detected and warm reuse is the default. - Stable daemon signing identity prevents every release from re-requesting access to every Keychain item.
- App updates, service recovery, and Troubleshoot preserve live SSH masters instead of forcing another SSH/2FA login.
- UI-only updates and ordinary app relaunches no longer restart a healthy background service.
- Retry remains clickable after failures, and internal helper/daemon/IPC terminology no longer leaks into the UI.
- Includes seven additional rounds of daemon, persistence, input-validation, and recovery hardening since v1.5.1.
Install / Update
brew install --cask gasvn/tap/ssh2fa \
&& xattr -dr com.apple.quarantine /Applications/SSH2FA.app \
&& open /Applications/SSH2FA.appAlready installed: brew reinstall --cask ssh2fa, or download SSH2FA.dmg below.
Universal Apple Silicon + Intel build. Requires macOS 26.
This release uses SSH2FA's stable local signing certificate but is not Apple-notarized yet. macOS may require the xattr command above or System Settings → Privacy & Security → Open Anyway.
DMG SHA-256: ccbd8358e13304870082acc65a67386210203107a65a602ec3020d9a8d8551da