千家信息网

golang中ssh包如何使用

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章给大家分享的是有关golang中ssh包如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、ssh包crypto的安装ss
千家信息网最后更新 2025年12月02日golang中ssh包如何使用

本篇文章给大家分享的是有关golang中ssh包如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、ssh包crypto的安装

ssh使用的包为"golang.org/x/crypto/ssh",由于golang.org被墙了,所以这里使用github上的镜像版本,所以这里不能使用go get进行安装(不要使用go get,不要使用go get,不要使用go get)。使用方法为git clone https://github.com/golang/crypto.git后,放到$GOPATH/src/golang.org/x/目录下面即可。

二、ssh登录代码

package mainimport ("golang.org/x/crypto/ssh""log""os")func main() {ce := func(err error, msg string) {if err != nil {log.Fatalf("%s error: %v", msg, err)}}client, err := ssh.Dial("tcp", "127.0.0.1:22", &ssh.ClientConfig{User: "zabbix",Auth: []ssh.AuthMethod{ssh.Password("123456")},HostKeyCallback: ssh.InsecureIgnoreHostKey(),})ce(err, "dial")session, err := client.NewSession()ce(err, "new session")defer session.Close()session.Stdout = os.Stdoutsession.Stderr = os.Stderrsession.Stdin = os.Stdinmodes := ssh.TerminalModes{ssh.ECHO: 0,ssh.TTY_OP_ISPEED: 14400,ssh.TTY_OP_OSPEED: 14400,}err = session.RequestPty("linux", 32, 160, modes)ce(err, "request pty")err = session.Shell()ce(err, "start shell")err = session.Wait()ce(err, "return")}

代码执行后,发现可以正常切换到对应的用户,而且命令重复输出的问题也解决了,但是tab不能补全命令,ps auxf查看不能全屏的问题依然存在

三、ssh: must specify HostKeyCallback报错解决

在执行上面的代码时可能会遇到ssh: must specify HostKeyCallback报错,出现该问题的原因是没有加如下行:

HostKeyCallback: ssh.InsecureIgnoreHostKey(),

除了增加上面的代码能解决外,也可以增加如下代码解决:

//需要验证服务端,不做验证返回nil就可以,点击HostKeyCallback看源码就知道了HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {return nil},

以上就是golang中ssh包如何使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

代码 问题 命令 更多 知识 篇文章 面的 验证 实用 使用方法 原因 就是 工作会 文章 方法 源码 版本 用户 目录 看吧 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 4月29首都网络安全日 名词笔记软件开发 奉贤区网络技术服务维护方法 网络安全是民生重要的一环 用友u8服务器 安装 好日子伴奏软件开发 长宁区智能化网络技术服务比较 北京云核网络技术有限公司 政务软件开发怎么样 纸飞机聊天软件服务器怎么弄 新世界 免费服务器 科大讯飞软件开发工程师收入 国之互联网科技股份有限公司 靠谱的erp软件开发项目 西安网络安全工作领导班子 听说你叫乔在哪个服务器 因与服务器无法建立安全 软件开发java创业方向 数据库建表列明命名 网络安全泄密教育 阿里云服务器 学生版 软件开发后期发展 全国做网络安全公司哪家好 数据库查询日志中报错的部分 软件开发里的适配问题指什么 三宽家长网络安全意识笔记 网络技术人员基本功 慈溪现代化刀片服务器售后服务 在宝塔怎么改服务器密码 曙光刀片服务器管理口
0