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

golang 通過ssh連接遠程服務器 控制

1.下載依賴

go get  golang.org/x/crypto/ssh

2.import

import ("fmt""log""time""golang.org/x/crypto/ssh"
)

3.使用

func pwdConnect(sshHost, sshUser, sshPassword string, sshPort int) (*ssh.Client, error) {// 创建ssh登录配置config := &ssh.ClientConfig{Timeout:         5 * time.Second,                             // 超时时间User:            sshUser,                                     // 登录账号Auth:            []ssh.AuthMethod{ssh.Password(sshPassword)}, // 密码HostKeyCallback: ssh.InsecureIgnoreHostKey(),                 // 这个不够安全,生产环境不建议使用//HostKeyCallback: ssh.FixedHostKey(), // 建议使用这种,目前还没研究出怎么使用[todo]}// dial连接服务器addr := fmt.Sprintf("%s:%d", sshHost, sshPort)Client, err := ssh.Dial("tcp", addr, config)if err != nil {log.Fatal("连接到服务器失败", err)return nil, err}//defer sshClient.Close()return Client, nil
}func main() {// 连接到服务器conn, err := pwdConnect("10.xxxx","root","1234",22)if err != nil {return}defer conn.Close()// 创建 ssh session 会话session, err := conn.NewSession()if err != nil {panic(err)}defer session.Close()// 执行远程命令cmd := "cd /home ; ls"cmdInfo, err := session.CombinedOutput(cmd)if err != nil {panic(err)}fmt.Println(string(cmdInfo))
}

http://www.lryc.cn/news/205880.html

相关文章:

  • Python深度学习实战-基于tensorflow.keras六步法搭建神经网络(附源码和实现效果)
  • 单片机核心/RTOS必备 (ARM汇编)
  • 2023/10/25
  • 如何做一个无符号数识别程序
  • C++初阶:C/C++内存管理
  • 新成果展示:AlGaN/GaN基紫外光电晶体管的设计与制备
  • Ivs+keepalived:高可用集群
  • win10安装spark
  • 基于Spring Boot 的毕业生实习就业管理系统(绿色)
  • 1600*C. Remove Adjacent(贪心字符串)
  • CRC校验码2018-架构师(六十一)
  • CSS设置超出范围滚动条和滚动条样式
  • EtherCAT从站转CclinkIE协议网关应用案例
  • 腾讯云 AI 绘画:文生图、图生图、图审图 快速入门
  • 前端项目中,强缓存和协商缓存的配置
  • 【LeetCode】2. 两数相加
  • springBoot与Vue共同搭建webSocket环境
  • 【Python】collections.Counter
  • 【Elasticsearch】es脚本编程使用详解
  • Synchronized 关键字
  • Maven系列第8篇:大型Maven项目,快速按需任意构建
  • 卷积神经网络(CNN)的组成结构以及其优点
  • [③ADRV902x]: Digital Filter Configuration(接收端)
  • 企业安全—DevSecOps概述详情
  • 数据结构与算法(十):动态规划与贪心算法
  • 【C++代码】安排行程,N皇后,解数独--代码随想录
  • SpringCloud Alibaba【二】nacos
  • C++中的fsanitize指令
  • 【AI视野·今日Robot 机器人论文速览 第五十八期】Thu, 19 Oct 2023
  • Java截取(提取)子字符串(substring()),Java分割字符串(split())