Skill: glory904649854/catfee-ssh (version 1.0.0)

--- name: catfee-ssh description: "SSH远程服务器密码连接技能。当用户提供服务器IP、用户名、密码需要SSH连接时激活。支持执行命令、查看配置、诊断问题、文件操作等运维操作。" --- # Catfee SSH Skill 通过密码认证SSH连接远程服务器，执行运维操作。 ## 前置要求 已安装 Posh-SSH 模块（首次使用时自动安装）。 ## 连接模板 ```powershell # 安装模块（如果未安装） if (!(Get-Module -ListAvailable Posh-SSH)) { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Scope CurrentUser Install-Module -Name Posh-SSH -Force -Scope CurrentUser -AllowClobber } Import-Module Posh-SSH # 创建凭证并连接（用户提供：IP、用户名、密码） $cred = New-Object System.Management.Automation.PSCredential("$username", (ConvertTo-SecureString "$password" -AsPlainText -Force)) $session = New-SSHSession -ComputerName "$ip" -Credential $cred -AcceptKey # 执行命令 Invoke-SSHCommand -SessionId $session.SessionId -Command "command" # 关闭连接 Remove-SSHSession -SessionId $session.SessionId ``` ## 常用操作 ### 查看系统信息 ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "hostname && uname -a && cat /etc/os-release" ``` ### 查看服务状态 ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "systemctl status nginx" Invoke-SSHCommand -SessionId $session.SessionId -Command "systemctl status docker" ``` ### 查看文件 ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "cat /path/to/file" Invoke-SSHCommand -SessionId $session.SessionId -Command "ls -la /path/to/dir" ``` ### 查看日志 ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "tail -100 /var/log/nginx/error.log" Invoke-SSHCommand -SessionId $session.SessionId -Command "journalctl -u nginx -n 100" ``` ### Nginx 诊断 ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "nginx -t 2>&1" Invoke-SSHCommand -SessionId $session.SessionId -Command "cat /etc/nginx/nginx.conf" Invoke-SSHCommand -SessionId $session.SessionId -Command "ls -la /etc/nginx/conf.d/" Invoke-SSHCommand -SessionId $session.SessionId -Command "cat /etc/nginx/conf.d/*.conf" ``` ### Docker 操作 ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "docker ps -a" Invoke-SSHCommand -SessionId $session.SessionId -Command "docker logs container_name --tail 100" Invoke-SSHCommand -SessionId $session.SessionId -Command "docker-compose ps" ``` ### 进程和端口 ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "ps aux | grep nginx" Invoke-SSHCommand -SessionId $session.SessionId -Command "netstat -tlnp" Invoke-SSHCommand -SessionId $session.SessionId -Command "ss -tlnp" ``` ## 输出格式化 获取完整命令输出： ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "command" | Select-Object -ExpandProperty Output | Out-String -Width 4000 ``` ## 会话保持 连续执行多个命令时保持同一个 session： ```powershell $session = New-SSHSession -ComputerName "$ip" -Credential $cred -AcceptKey Invoke-SSHCommand -SessionId $session.SessionId -Command "cmd1" Invoke-SSHCommand -SessionId $session.SessionId -Command "cmd2" Invoke-SSHCommand -SessionId $session.SessionId -Command "cmd3" Remove-SSHSession -SessionId $session.SessionId ``` ## 执行修改操作 执行需要sudo权限的操作： ```powershell Invoke-SSHCommand -SessionId $session.SessionId -Command "sudo nginx -s reload" Invoke-SSHCommand -SessionId $session.SessionId -Command "sudo systemctl restart docker" ``` ## 安全注意 - 每次使用用户提供的具体凭证，不存储凭证 - 完成操作后关闭SSH会话 - 不在日志或输出中暴露敏感信息

path: package.json
content: name: catfee-ssh
version: 1.0.0
description: SSH远程服务器密码连接技能，支持执行命令、查看配置、诊断问题等运维操作
author: Catfee Team
license: MIT

path: README.md
content: # Catfee SSH

SSH 远程服务器密码连接技能，让 AI Agent 通过密码认证连接远程服务器执行运维操作。

## 功能特点

- 🔐 **密码认证连接** - 无需配置 SSH 密钥，直接使用用户名密码连接
- 🖥️ **远程命令执行** - 支持执行任意 Shell 命令
- 📊 **服务诊断** - Nginx、Docker、系统服务等状态检查
- 📁 **文件操作** - 查看文件内容、目录结构
- 📝 **日志查看** - 实时查看服务日志

## 安装

```bash
clawhub install catfee-ssh
```

## 使用方法

当需要 SSH 连接服务器时，提供以下信息：

- **IP 地址**: 服务器 IP
- **用户名**: SSH 用户名（如 root）
- **密码**: SSH 密码
- **端口**: SSH 端口（默认 22）

### 示例对话

```
用户: 帮我连接这个服务器看看 nginx 状态
      IP: 192.168.1.100
      用户: root
      密码: yourpassword

Agent: [使用 catfee-ssh skill 连接服务器并执行 nginx -t 等诊断命令]
```

## 支持的操作

### 系统信息
- 查看主机名、系统版本
- 查看资源使用情况（CPU、内存、磁盘）

### 服务管理
- Nginx 配置检查、状态查看
- Docker 容器状态、日志查看
- Systemd 服务状态

### 文件操作
- 查看文件内容
- 列出目录结构
- 查看日志文件

### 网络诊断
- 查看端口监听状态
- 查看网络连接

## 技术实现

基于 PowerShell 的 Posh-SSH 模块实现，支持 Windows 环境。

### 依赖

- PowerShell 5.1+
- Posh-SSH 模块（自动安装）

## 安全说明

- ⚠️ 凭证不存储，每次使用时由用户提供
- ⚠️ 操作完成后自动关闭 SSH 会话
- ⚠️ 不建议在生产环境长期使用密码认证，推荐 SSH 密钥

## 许可证

MIT License

## 作者

Catfee Team

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)