当前位置: 首页 > news >正文

go客户端ssh交换机

连接交换机代码

使用库golang.org/x/crypto/ssh

func (s *SwitchConf) switchNewSession() error {config := &ssh.ClientConfig{User: s.User,Auth: []ssh.AuthMethod{ssh.Password(s.Password),},HostKeyCallback: ssh.InsecureIgnoreHostKey(),Timeout:         30 * time.Second, // 设置超时时间Config: ssh.Config{			Ciphers: []string{"aes128-ctr", "aes192-ctr", "aes256-ctr", "aes128-gcm@openssh.com", "aes256-gcm@openssh.com", "chacha20-poly1305@openssh.com"},}, //添加了很多加密方式,为了应对不同的密码规则}address := fmt.Sprintf("%s:22", s.Ip)// 建立 SSH 连接client, err := ssh.Dial("tcp", address, config)if err != nil {log.Fatalf("Failed to dial: %v", err)return nil}//defer client.Close()go s.waitConnectClosed(client)// 创建会话session, err := client.NewSession()if err != nil {fmt.Println("Failed to create session:", err)return nil}s.Session = session///设置terminalmodes的方式modes := ssh.TerminalModes{ssh.ECHO:          0,     // disable echoingssh.TTY_OP_ISPEED: 14400, // input speed = 14.4kbaudssh.TTY_OP_OSPEED: 14400, // output speed = 14.4kbaud}//建立伪终端err := s.Session.RequestPty("xterm", 80, 80, modes)if err != nil {fmt.Println("创建requestpty出错", err)return err}// 使用 io.MultiWriter 同时写入 os.Stdout 和缓冲区//multiWriter := io.MultiWriter(os.Stdout, &buf)s.input, err = s.Session.StdinPipe()if err != nil {fmt.Println("StdinPipe错误: ", err)return err}s.output, err = s.Session.StdoutPipe()if err != nil {fmt.Println("StdoutPipe: ", err)return err}s.errput, err = s.Session.StderrPipe()if err != nil {fmt.Println("StderrPipe: ", err)return err}err = s.Session.Shell()if err != nil {fmt.Println("创建shell出错: ", err)return err}go s.getErrorRealTime()return nil
}

问题

提示unable to authenticate, attempted methods [none password], no supported methods remain
原因:密码错误

相关文章:

  • SpringBoot 应用开发核心分层架构与实战详解
  • 一款功能强大的专业CSV编辑工具
  • Java的SpringAI+Deepseek大模型实战
  • 【鸿蒙HarmonyOS Next App实战开发】​​ArkUI时钟界面实现解析:动态双模式时钟与沉浸式体验​
  • CppCon 2017 学习:Effective Qt: 2017 Edition
  • 算法导论第十八章 计算几何:算法中的空间艺术
  • Java八股文——操作系统「进程篇」
  • MySQL高可用方案解析与选型指南
  • 内网攻防实战_红日靶场01
  • FPGA基础 -- Verilog函数
  • 在真实环境中对 LLM 代理进行安全评估的综合基准
  • Spring Boot(九十三):Springboot 整合cfx实现webservice接口
  • 【Computer】计算机原理大纲
  • uni-app项目实战笔记16--实现头部导航栏效果
  • 苍穹外卖--WebSocket、来单提醒、客户催单
  • 设计案例分享 | 临床生物样本大数据中心网站设计
  • springboot的后端处理HTML的页面请求
  • openssl 自签证书生成步骤
  • 查询docker-compose 部署的milvus 请求日志
  • 解决 Docker 里 DrissionPage 无法连接浏览器的问题,内含直接可用的Docker镜像(DrissionPage 浏览器链接失败 怎么办?)
  • 运营公开网是什么网站/t和p在一起怎么做网站
  • 如何建设网站 企业/如何进行网络推广
  • java .net做网站/宁波seo网络推广渠道介绍
  • 网站建设 话术/网络营销课程论文
  • 餐饮网站建设教程/网络服务提供商是指
  • 教育网站建设方案模板/软件开发公司经营范围