Skip to content

v0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Jun 03:06

✨ 新功能

export / import — 加密备份与跨机迁移

换电脑或重装系统时,可以把 ~/.ssh/config 和私钥打包成加密备份,在新机器上一键恢复。

# 旧机器:导出到当前目录(交互设置主密码)
fuckssh export

# 或指定输出目录
fuckssh export ~/Desktop

# 新机器:导入并合并
fuckssh import fuckssh-backup-20260616-102739.tar.enc
  • 加密方案:Argon2id + AES-256-GCM,主密码至少 6 位且不能纯数字
  • 导出内容:~/.ssh/config、fuckssh 管理的私钥,以及 config 中 IdentityFile 引用的外部私钥
  • 导入前自动备份现有 config;合并时检测 Host 别名冲突,支持覆盖 / 跳过 / 重命名三种策略
  • 备份文件权限 0600,请妥善保管

SSH config 智能合并

import 在目标机器已有 Host 条目时,会逐条检测冲突并引导你选择处理方式:

  • 覆盖 — 用备份中的配置替换本地同名 Host
  • 跳过 — 保留本地,忽略备份中的同名 Host
  • 重命名 — 为导入的 Host 指定新别名(支持自定义密钥文件名)

密钥文件同样按冲突策略处理,避免误覆盖已有私钥。

🐛 修复

  • import 密钥合并:修复合并时密钥被错误覆盖的问题;导出时正确包含 config 引用的外部私钥
  • import 重命名:冲突重命名时可自定义密钥文件名
  • 密码输入:统一终端密码提示的换行符,修复部分终端下显示异常
  • 安装脚本:改用 GitHub 302 重定向获取最新版本,避免 API 速率限制导致安装失败

📖 文档

  • 重构中英文 README,补充 export / import 完整用法与迁移示例
  • 明确产品定位:围绕标准 ~/.ssh/config 管理,而非替代 SSH 客户端

安装方式:

# 一键安装(推荐,自动安装最新版)
curl -fsSL https://raw.githubusercontent.com/hczs/fuckssh/master/scripts/install.sh | sh

# 指定本版本
curl -fsSL https://raw.githubusercontent.com/hczs/fuckssh/master/scripts/install.sh | sh -s -- --version v0.6.0

# Go install
go install github.com/fuckssh/fuckssh@v0.6.0

Windows (PowerShell):

irm https://raw.githubusercontent.com/hczs/fuckssh/master/scripts/install.ps1 | iex