logo
0
0
WeChat Login
docs: 添加后台运行命令

SSH 私钥工具箱

一个基于 Java + Spring Boot + Gradle 的 SSH 私钥生成和验证工具。

功能特性

  1. 密钥生成:输入服务器 IP、端口号、用户名和密码,自动登录服务器生成无密码私钥
  2. 密钥类型选择:支持生成两种格式的私钥
    • OPENSSH 格式:新版 OpenSSH 格式(-----BEGIN OPENSSH PRIVATE KEY-----),兼容性更好
    • PRIVATE (PEM) 格式:传统 RSA 格式(-----BEGIN RSA PRIVATE KEY-----),兼容旧版工具
  3. 密钥验证:验证私钥格式是否正确,以及是否可以正常连接服务器(支持 OPENSSH 和 PEM 两种格式)
  4. 实时日志:通过 WebSocket 实时展示操作过程日志
  5. 私钥管理:支持预览、复制和下载生成的私钥

技术栈

  • Java 17
  • Spring Boot 3.2.0
  • Gradle 8.5
  • WebSocket (STOMP)
  • JSch 0.2.16 (mwiede fork,支持 OpenSSH 新格式私钥)
  • Thymeleaf

快速开始

环境要求

  • JDK 17+
  • Gradle 8.x (或使用 Gradle Wrapper)

运行项目

# 使用 Gradle Wrapper 运行 ./gradlew bootRun # 停止服务 ./gradlew --stop # 或者先构建再运行 ./gradlew build java -jar build/libs/privkey-toolkit-1.0.0.jar nohup java -jar build/libs/privkey-toolkit-1.0.0.jar > app.log 2>&1 &

访问应用

打开浏览器访问:http://localhost:8080

使用说明

生成密钥

  1. 切换到「生成密钥」标签页
  2. 填写服务器 IP、端口号(默认 22)、用户名和密码
  3. 选择密钥类型:
    • OPENSSH:生成 OpenSSH 新格式私钥,推荐使用
    • PRIVATE (PEM):生成传统 PEM 格式私钥,兼容旧版工具
  4. 点击「生成密钥」按钮
  5. 等待生成完成,可以预览、复制或下载私钥
  6. 查看下方日志了解执行过程

验证密钥

  1. 切换到「验证密钥」标签页
  2. 填写服务器 IP、端口号(默认 22)和用户名
  3. 粘贴私钥内容
  4. 点击「验证密钥」按钮
  5. 查看验证结果和执行日志

注意事项

  • 请确保输入的服务器信息正确
  • 密码传输使用 HTTPS 时更安全
  • 生成的私钥会自动将公钥添加到服务器的 ~/.ssh/authorized_keys
  • 私钥文件应妥善保管,建议设置 600 权限
  • 密钥格式选择建议
    • 新项目推荐使用 OPENSSH 格式,安全性更高
    • 如需兼容旧版 SSH 客户端或工具,请选择 PRIVATE (PEM) 格式

项目结构

src/main/java/com/toolkit/privkey/ ├── PrivkeyToolkitApplication.java # 启动类 ├── config/ │ └── WebSocketConfig.java # WebSocket 配置 ├── controller/ │ ├── KeyController.java # API 接口 │ └── PageController.java # 页面路由 ├── dto/ │ ├── ApiResponse.java # 统一响应 │ ├── KeyGenerateRequest.java # 生成请求 │ ├── KeyValidateRequest.java # 验证请求 │ └── LogMessage.java # 日志消息 └── service/ └── SshKeyService.java # SSH 服务