KT-lcz/mac-ssh-tool

★ 0Forks 0TypeScriptGitHub ↗Compare

README

SSH Manager

一个专为 macOS 设计的 SSH 图形化管理工具,提供了SSH密钥管理、Known Hosts管理、端口转发和SSH连接等功能。

功能特性

🔑 SSH密钥管理

  • 生成新的SSH密钥(支持RSA、Ed25519、ECDSA)
  • 查看现有SSH密钥
  • 删除不需要的密钥
  • 自动管理公钥和私钥对

🖥️ Known Hosts 管理

  • 查看 ~/.ssh/known_hosts 文件中的所有主机记录
  • 删除指定主机的指纹记录
  • 解决SSH连接时的主机验证问题

🔄 本地端口转发

  • 创建SSH隧道进行端口转发
  • 支持本地端口到远程主机端口的映射
  • 可以启动/停止转发进程
  • 支持使用SSH密钥认证

🔗 SSH连接管理

  • 保存常用的SSH连接配置
  • 一键在macOS终端中打开SSH连接
  • 支持自定义端口和SSH密钥

系统要求

  • macOS 10.14 或更高版本
  • Node.js 18+ (仅开发时需要)

开发和构建

安装依赖

npm install

开发模式运行

npm run dev

构建应用

npm run build

打包应用

npm run dist

使用说明

SSH密钥管理

  1. 点击"生成新密钥"按钮
  2. 填写密钥名称、选择密钥类型
  3. 可选填写注释信息
  4. 点击"生成"按钮,密钥将保存在 ~/.ssh/ 目录

Known Hosts 管理

  1. 在Known Hosts页面可以查看所有已知主机
  2. 如果遇到主机密钥变更警告,可以删除对应的主机记录
  3. 删除后下次连接时会重新验证主机身份

端口转发

  1. 点击"添加转发规则"
  2. 填写本地端口、远程主机、远程端口
  3. 填写SSH服务器信息和认证方式
  4. 点击"启动"开始转发

SSH连接

  1. 点击"添加连接"保存常用服务器信息
  2. 点击"连接"按钮会自动在终端中打开SSH连接
  3. 支持使用密钥认证或密码认证

安全注意事项

  • 应用不会存储SSH密码,仅使用系统的SSH密钥
  • 所有SSH操作都通过系统的ssh命令执行
  • 建议使用SSH密钥而不是密码进行认证
  • 定期检查和清理不需要的SSH密钥

技术栈

  • Electron - 跨平台桌面应用框架
  • React - 用户界面
  • TypeScript - 类型安全
  • Vite - 构建工具
  • macOS Terminal - SSH连接集成

许可证

MIT License

Contributors

KT-lcz

Issues