类对象支持库。路径:支持库 → 扩展类库 → SSH类。
旁路插件:plugins/supportlib.ssh/,随 IDE 免费,无需开通票位。运行时静态链接 libssh2 + WinCNG,用户程序无需额外 OpenSSL/libssh2 DLL。
类型名必须写完整「SSH类」。声明时自动创建。
硬约束
- 类型名必须写「SSH类」。
- 连接可用
登录/登录私钥;或先置用户/置密码/置私钥再连接。 - 主机密钥:默认接受任意;可
置主机密钥策略(1)+置期望指纹,或策略2+置已知主机文件。 - 相对路径相对「工作目录」(默认
/);用进入目录/返回上级浏览。 - 方法调用必须带括号。
快速开始
SSH类 s
如果 (s.登录("192.168.1.10", "root", "secret", 22)) {
输出(s.取主机指纹())
s.执行("uname -a")
输出(s.取标准输出())
s.进入目录("/tmp")
s.写文件("hi.txt", "hello")
s.改权限("hi.txt", 644)
s.远程复制("hi.txt", "hi.bak")
s.断开()
} 否则 {
输出(s.取错误())
}
进度回调:
函数 上传进度(整数 已传, 整数 总计) {
输出(到文本(已传) + "/" + 到文本(总计))
}
SSH类 s
s.置进度(&上传进度)
s.登录("host", "user", "pass", 22)
s.上传("C:\big.bin", "/tmp/big.bin")
交互终端与端口转发:
s.打开终端()
s.终端发送("ls -la\n")
输出(s.终端接收(500))
s.关闭终端()
s.开始转发(13306, "127.0.0.1", 3306) // 本机 13306 → 远端 3306
// … 用完
s.停止转发()
SSH类 方法(摘要)
连接:置用户 · 置密码 · 置私钥 · 置超时 · 置主机密钥策略 · 置期望指纹 · 置已知主机文件 · 取主机指纹 · 连接 · 登录 · 登录私钥 · 是否已连接 · 断开
命令:执行 · 执行成功 · 取退出码 · 取标准输出 · 取标准错误
目录:置工作目录 · 取工作目录 · 进入目录 · 返回上级 · 列目录 · 取条目数 · 取条目名 · 取条目类型 · 取条目大小
文件:上传 · 下载 · 上传目录 · 下载目录 · 置进度 · 读文件 · 写文件 · 追加文件 · 读字节集 · 写字节集 · 远程复制 · 是否存在 · 是否目录 · 取文件大小 · 删除 · 创建目录 · 重命名 · 取真实路径 · 改权限
终端:打开终端 · 终端已打开 · 关闭终端 · 终端发送 · 终端接收 · 终端可读字节
转发:开始转发 · 转发运行中 · 停止转发
其它:取错误
| 能力 | 说明 |
|---|---|
| 主机密钥 | 0 任意 / 1 指纹 / 2 known_hosts |
| 置进度 | 上传/下载/远程复制同步回调 |
| 改权限 | 直接写 644/755/600(chmod 习惯);也兼容位掩码 420(=0644)、493(=0755) |
| 打开终端 | PTY 交互 shell,与「执行」独立 |
| 开始转发 | 独立 SSH 会话后台线程,不阻塞主会话 |