golang中ssh包如何使用
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,本篇文章给大家分享的是有关golang中ssh包如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、ssh包crypto的安装ss
千家信息网最后更新 2025年02月09日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安全错误
数据库的锁怎样保障安全
安卓 数据库实验报告
网络安全外文文献翻译带作者
并行数据库划分技术
从后端获取数据库
苹果手机怎么玩外国服务器游戏
果洛软件开发销售电话
2018强网杯网络安全大赛
网络安全课程设计哈希函数
南川区网络安全审计系统咨询
安徽龙芯服务器企业
北京微客网络技术有限公司
猿辅导软件开发p6工资
电销客户管理系统服务器
国产化服务器打开命令窗口
西安曲江新曲域控网络技术部
.net软件开发毕业论文
东农计算机网络技术在线作业
网络技术包括
蒲公英网络技术
在dao层里面写访问数据库
阿里云linux服务器编译器
数据库药务室分析报告
华为软件开发需要哪些技能
怎么配置打印机服务器
服务器硬盘用什么gpt
互联网科技创新方面的报告
江苏数据软件开发检测中心
发生重大网络安全事件
分布式数据库联合查询
源码放云服务器安全吗