vssh:实践指南
如果把vssh放进候选清单,不能只看热度;它的定位是Go 库可通过 SSH 大规模执行命令。把它放到日常自动化流程中,最容易暴露的是输入边界、依赖和失败处理如果不清楚就很难稳定复用,不能只看演示是否顺利。先用一项范围明确的真实任务完成最小试跑更稳妥;过程中要观察配置时间、输出质量、异常信息和维护痕迹,失败也应能解释原因。如果团队属于愿意先做小范围验证并复查原始文档的团队,它有继续测试的理由;否则先看替代方案会更省时间。
vSSH
Go 库可处理数以万计的 SSH 连接,并使用更高级别的 API 执行命令,以构建网络设备/服务器自动化。文档和示例可通过 godoc 获取。
特点
- 同时连接到多台远程机器
- 持久 SSH 连接
- DSL 根据标签查询
- 管理每个 SSH 连接的会话数
- 限制 stdout 和 stderr 数据量(以字节为单位)
- 适用于楼宇自动化的更高级别 API
带标签的示例查询
labels := map[string]string {
"POP" : "LAX",
"OS" : "JUNOS",
}
// sets labels to a client
vs.AddClient(addr, config, vssh.SetLabels(labels))
// query with label
vs.RunWithLabel(ctx, cmd, timeout, "(POP == LAX || POP == DCA) && OS == JUNOS")
基本示例
vs := vssh.New().Start()
config := vssh.GetConfigUserPass("vssh", "vssh")
for _, addr := range []string{"54.193.17.197:22", "192.168.2.19:22"} {
vs.AddClient(addr, config, vssh.SetMaxSessions(4))
}
vs.Wait()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cmd:= "ping -c 4 192.168.55.10"
timeout, _ := time.ParseDuration("6s")
respChan := vs.Run(ctx, cmd, timeout)
for resp := range respChan {
if err := resp.Err(); err != nil {
log.Println(err)
continue
}
outTxt, errTxt, _ := resp.GetText(vs)
fmt.Println(outTxt, errTxt, resp.ExitStatus())
}
流示例
vs := vssh.New().Start()
config, _ := vssh.GetConfigPEM("vssh", "mypem.pem")
vs.AddClient("54.193.17.197:22", config, vssh.SetMaxSessions(4))
vs.Wait()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
cmd:= "ping -c 4 192.168.55.10"
timeout, _ := time.ParseDuration("6s")
respChan := vs.Run(ctx, cmd, timeout)
resp := <- respChan
if err := resp.Err(); err != nil {
log.Fatal(err)
}
stream := resp.GetStream()
defer stream.Close()
for stream.ScanStdout() {
txt := stream.TextStdout()
fmt.Println(txt)
}
支持平台
- Linux
- 窗户
- 达尔文
- BSD
- 索拉里斯
相关资讯
-
09.11
WorkflowEngine.NET:实践指南
-
09.11
DartTutorial:实践指南
-
09.11
PseudoMakeMeKeyCapProfiles:实践指南
-
09.11
BlogEngine.NET:实践指南
-
09.11
kazoo:实践指南
-
09.11
moodleapp:实践指南
游戏推荐
推荐专题
热门阅读
-
- ffmpeg-concat:实践指南
- 09.11
-
- wreq:实践指南
- 09.11
-
- docker-pytorch:实践指南
- 09.11
-
-
- EASY-HWID-SPOOFER:实践指南
- 09.11
推荐下载
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏