SSH Config Tool 是一个用于管理 SSH 配置文件的命令行工具。它允许你使用更具表现力的 YAML/JSON 格式来管理你的 SSH 配置文件。
- 支持从 YAML/JSON 格式转换为标准 SSH 配置格式
- 支持从标准 SSH 配置格式转换为 YAML/JSON 格式
- 支持从文件输入或标准输入(stdin)读取配置
- 支持输出到文件或标准输出(stdout)
- 自动检测输入格式(YAML/JSON/SSH Config)
使用 Docker 或者从 GitHub 发布页面下载合适你的系统、CPU 架构的二进制文件即可。
ssh-config [options] <input_file> <output_file>
或,使用 Linux 管道来操作文件:
cat input_file | ssh-config -to-yaml > output_file
下载镜像
docker pull soulteary/ssh-config:v1.2.0
# or
docker pull ghcr.io/soulteary/ssh-config:v1.2.0
将当前目录的配置文件转换并保存为新的文件:
docker run --rm -it -v `pwd`:/ssh soulteary/ssh-config:v1.2.0 ssh-config -to-yaml -src /ssh/test.yaml -dest /ssh/abc.yaml
如果你只想看看转换结果:
docker run --rm -it -v `pwd`:/ssh soulteary/ssh-config:v1.2.0 ssh-config -to-yaml -src /ssh/test.yaml
如果你想使用 Linux 管道来操作文件,可以先进入 Docker 交互式命令行:
docker run --rm -it -v `pwd`:/ssh soulteary/ssh-config:v1.2.0 bash
cat /ssh/test.yaml | ssh-config -to-yaml
-to-yaml, -to-json, -to-ssh
: 指定输出格式 (yaml/json/config),同一时间,输出格式只能指定为一种。-src
: 指定要读取的原始配置文件,或配置目录-dest
: 指定要保存的配置文件路径-help
: 查看程序命令行帮助
- 将 YAML 格式转换为 SSH 配置格式:
ssh-config -to-ssh -src input.yaml -dest output.conf
- 将 SSH 配置格式转换为 JSON 格式:
ssh-config -to-json -src ~/.ssh/config -dest output.json
- 从标准输入读取,输出到标准输出,并以 YAML 格式保存:
cat input.conf | ssh-config -to-yaml > output.yaml
- Go 1.23+
go build
go test -v ./... -covermode=atomic -coverprofile=coverage.out && go tool cover -html=coverage.out -o coverage.html
欢迎提交 issues 和 pull requests。
本项目采用 Apache 许可证。详见 LICENSE 文件。
- 好用的 OpenSSH 软件包
- 颇受启发的配置文件