SuperAPI AI 工具集

ssh-dev-suite/connect

部署与运维

查看项目

更新于 10-24 04:38

技能介绍

ssh-connect 是 ssh-dev-suite 中的连接与远程操作命令集,面向需要在本地终端对 Linux 服务器执行日常运维或开发操作的场景。

用途

它覆盖 SSH 连接测试、远程命令执行、文件上传与下载,以及后台任务的启动、状态查看、输出读取和终止。对于容器场景,命令会自动包装 docker/kubectl,便于直接进入容器环境操作。

主要能力

脚本按功能划分:ssh-test.sh 测试连接;ssh-exec.sh 执行远程命令;ssh-upload.sh 与 ssh-download.sh 传输文件;ssh-job.sh 负责后台任务的 start、status、output、kill、list、stream。密码认证通过环境变量配合 sshpass -e 传递,避免在命令行中直接暴露密码。Windows 环境下脚本会自动检测并跳过不可用的 ControlMaster 会话复用,identity_file 路径含空格时会自动处理引用。

使用方式

命令以 profile 作为连接标识,基本形式如下: bash connect/scripts/ssh-test.sh <profile> bash connect/scripts/ssh-exec.sh <profile> <command> bash connect/scripts/ssh-upload.sh <profile> <local> <remote> bash connect/scripts/ssh-download.sh <profile> <remote> <local> bash connect/scripts/ssh-job.sh start|status|output|kill|list|stream <profile> [args]

运行环境为客户端 Windows(Git Bash/MSYS2)、macOS、Linux,服务端 Linux。

限制与注意事项

远程命令会依次经过本地 shell、ssh、远端 shell、docker exec、容器内 shell 的多层解释,引号嵌套容易出错。含引号、变量、管道的复杂命令建议写成脚本文件后上传执行,简单命令可直接内联。Windows 的 Git Bash 中 $PATH 等环境变量可能被 Windows 路径展开,建议用上传脚本方式替代内联引用。输出读取方面,建议优先使用 --tail/--head/--grep 等过滤参数,避免读取完整大日志;后台任务输出先查 status 了解大小,超过 10KB 只读 tail,超过 100KB 先 grep 错误。其他未在资料中说明的配置项、认证方式细节与平台支持范围暂未提供。