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创业方向
数据库建表列明命名
网络安全泄密教育
阿里云服务器 学生版
软件开发后期发展
全国做网络安全公司哪家好
数据库查询日志中报错的部分
软件开发里的适配问题指什么
三宽家长网络安全意识笔记
网络技术人员基本功
慈溪现代化刀片服务器售后服务
在宝塔怎么改服务器密码
曙光刀片服务器管理口