✨ 新功能
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.0Windows (PowerShell):
irm https://raw.githubusercontent.com/hczs/fuckssh/master/scripts/install.ps1 | iex