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

智慧物流企业网站建设方案今日特大新闻新事

智慧物流企业网站建设方案,今日特大新闻新事,建设一个企业网站需要多少钱,wordpress 720云一、前言 SSH(Secure Shell)是一种用于在不安全网络上安全访问远程计算机的网络协议。它通过加密的方式提供远程登录会话和其他网络服务,保证通信的安全性和数据的完整性。 本文使用golang.org/x/crypto/ssh包来实现SSH客户端 可以通过go …

一、前言

SSH(Secure Shell)是一种用于在不安全网络上安全访问远程计算机的网络协议。它通过加密的方式提供远程登录会话和其他网络服务,保证通信的安全性和数据的完整性。

本文使用golang.org/x/crypto/ssh包来实现SSH客户端

可以通过go get -u golang.org/x/crypto/ssh 来引包。其中参数-u指定从远程仓库下载最新版本

二、开发

(1) 创建ssh客户端配置

使用ssh.ClientConfig来创建一个结构体. 指定用户名User 和认证方法 Auth。忽略主机密钥验证,允许连接到任意服务器。

config := &ssh.ClientConfig{User: "Yliken",                               //用户名Auth: []ssh.AuthMethod{ssh.Password("Yliken"),					  //密码、},HostKeyCallback: ssh.InsecureIgnoreHostKey(),  //忽略主机密钥验证
}

(2)发起ssh连接

使用ssh.Dial来向服务器发送ssh连接请求。ssh.Dial需要指定三个参数:网络类型(通常是tcp)、服务器地址(需要加上端口)、和一个指向ssh.ClientConfig的指针

dial, err := ssh.Dial("tcp", "192.168.22.100:22", config)
if err != nil {fmt.Println("连接服务器失败", err)
}
defer dial.Close()

(3)创建ssh会话

使用dial.NewSession来与服务端建立一个会话。用于执行远程命令或交互操作。dial 是一个通过 ssh.Dial 方法获得的 *ssh.Client 对象。

session, err := dial.NewSession()if err != nil {fmt.Println("创建会话失败", err)}defer session.Close()

(4)创建伪终端

使用ssh.TerminalModes创建伪终端模式

modes := ssh.TerminalModes{ssh.ECHO:          0,       // 禁用回显ssh.TTY_OP_ISPEED: 14400,   // 输入速度(比特/秒)ssh.TTY_OP_OSPEED: 14400,   // 输出速度(比特/秒)
}

然后再用session.RequestPty再服务器上面请求一个伪终端。

session.RequestPty包含4个参数:伪终端的类型、伪终端的高度和宽度、伪终端的模式配置(就是上面的modes)

if err := session.RequestPty("xterm", 80, 40, modes); err != nil {fmt.Println(err)
}

(5)绑定标准输入、标准输出、标准错误

session.Stdout = os.Stdout			//将远程会话的标准输出绑定到本地终端的标准输出。
session.Stderr = os.Stderr			//将远程会话的标准错误输出绑定到本地终端的标准错误输出。
session.Stdin = os.Stdin			//将本地终端的标准输入绑定到远程会话的标准输入。

(6)启动交互式shell

使用session.shell()启动一个交互式shell。允许用户通过本地终端与远程服务器进行实时交互操作。

if err := session.Shell(); err != nil {fmt.Println(err)}

(7)等待会话结束

在交互式shell模式下session.Wait()会阻塞程序。直到远程会话结束

三、完整程序源码

package mainimport ("fmt""golang.org/x/crypto/ssh""os"
)func main() {config := &ssh.ClientConfig{User: "root",Auth: []ssh.AuthMethod{ssh.Password("312909"),},HostKeyCallback: ssh.InsecureIgnoreHostKey(),}dial, err := ssh.Dial("tcp", "192.168.22.100:22", config)if err != nil {fmt.Println("连接服务器失败", err)}defer dial.Close()session, err := dial.NewSession()if err != nil {fmt.Println("创建会话失败", err)}defer session.Close()modes := ssh.TerminalModes{ssh.ECHO:          0,ssh.TTY_OP_ISPEED: 14400,ssh.TTY_OP_OSPEED: 14400,}if err := session.RequestPty("xterm", 80, 40, modes); err != nil {fmt.Println(err)}session.Stdout = os.Stdoutsession.Stderr = os.Stderrsession.Stdin = os.Stdinif err := session.Shell(); err != nil {fmt.Println(err)}session.Wait()
}
http://www.hkea.cn/news/78616/

相关文章:

  • 企业级网站内容管理解决方案网站关键词快速排名服务
  • 影视采集网站怎么做收录关键词是网站seo的核心工作
  • 开发一个网站需要多少时间百度账号免费注册
  • 化妆品网站主页设计长沙关键词优化方法
  • 南阳建网站企业百度推广优化工具
  • 怎样把自己做的网页放在网站里如何做宣传推广营销
  • 七谷网络工作室重庆优化seo
  • 东莞网站建设规范软文内容
  • 项目网站建设业务分析搜索优化的培训免费咨询
  • linux做网站服务器吗关键词上首页软件
  • 西安网站建设行业动态手机营销软件
  • 做推送的网站推荐今日新闻摘抄50字
  • 想在自己的网站做支付优化公司治理结构
  • 国内一家做国外酒店团购的网站网络推广优化是干啥的
  • 手机3d动画制作软件重庆网络seo公司
  • 青海和城乡建设厅网站石家庄自动seo
  • 建站网址是多少深圳市seo上词多少钱
  • 应用网站开发创建网站花钱吗
  • 2023太原疫情优化设计答案大全
  • 创新的专业网站建设适合小学生的新闻事件
  • 政府机关备案网站百度竞价什么意思
  • 广元专业高端网站建设seo视频
  • 烟台网站建设诚信臻动传媒百度网络营销中心
  • 贵阳网站建设搜王道下拉重庆seo网络推广关键词
  • 大型 网站的建设 阶段百度官方网站下载
  • 江苏专业做网站的公司百度地图导航网页版
  • 怎么去投诉做网站的公司宁波seo外包推广软件
  • 网络营销跟做网站有什么区别线上推广如何引流
  • 如何进行网店推广seo排名优化怎样
  • 什么建站程序好收录上海网络公司seo