Skip to content

内置 SSH 密钥生成 + 复制公钥到剪贴板 #11

@yangflow

Description

@yangflow

问题

新用户设置 SSH key 认证时需要跳到终端执行 ssh-keygen -t ed25519,然后手动 pbcopy < ~/.ssh/id_ed25519.pub,再去 GitHub/GitLab/Gitea 粘贴。对非 git 老手门槛不低,也是目前上手痛点的一部分。

建议改动

  • AddEditRepoSheet 选 SSH key 模式时,key path 字段右侧加"生成新密钥"按钮
  • 点击弹出对话:选择路径(默认 ~/.ssh/gitrelay_ed25519)、可选 passphrase
  • 调用 ssh-keygen subprocess 或用 CryptoKit 生成 Ed25519 密钥对并写入文件(chmod 600)
  • 生成后再弹一个"复制公钥并打开 GitHub/GitLab/Gitea 设置页"的确认窗,含"已复制到剪贴板"提示
  • 公钥预览(id_*.pub)显示在"查看密钥"按钮后

备选方案

  • 只提供"导入现有密钥":当前行为,无法帮新手
  • 引导到在线文档:摩擦大,无法测量转化

作用域检查

  • 与 GitRelay 的单向镜像模型兼容
  • 不需要在 Keychain 以外存储凭证(私钥文件权限由文件系统保护,与现有模式一致)
  • 不引入新运行时依赖(ssh-keygen 是 macOS 自带,或使用 CryptoKit)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/security凭证与访问控制area/ui用户界面与交互enhancementNew feature or requestpriority/p1高优先级:核心能力

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions