if err != nil {
panic(err)
}
// Set up terminal modes
modes := ssh.TerminalModes{
ssh.ECHO:1, // enable echoing
ssh.TTY_OP_ISPEED: 14400, // input speed = 14.4kbaud
ssh.TTY_OP_OSPEED: 14400, // output speed = 14.4kbaud
}
// Request pseudo terminal
if err := session.RequestPty("xterm-256color", termHeight, termWidth, modes); err != nil {
log.Fatal(err)
}
session.Run("top")
}
总结
好了,这样就可以执行交互式命令了 , 比如上面的 top 也可以通过 vi /etc/nginx/nignx.conf 之类的命令来远程编辑文件 。
golang SSH客户端三件套 - 1远程连接 shell golang SSH客户端系列文章目录
SSH(Secure Shell)协议在远程登录时比较常用,但是除此之外还有一些其它的功能也很好用,比如端口映射 , X11转发,sftp文件传输等 。
以下三篇文章将介绍golang版SSH的远程登录功能,端口映射功能及sftp文件传输功能 。X11包含GUI的一些操作 , 没有找到相关的包,故不做介绍
通过golang自带的ssh包 golang.org/x/crypto/ssh 可以实现远程登录功能,默认是不支持tab键和上下箭头的 ,
通过导入golang.org/x/crypto/ssh/terminal来创建VT100终端可以支持tab等功能,让golang版本的ssh客户端体验和平时用的其它客户端差不多 。
请教,golang中的hmac验证应该怎样写package main
import (
"crypto/hmac"
"crypto/sha1"
"fmt"
"io"
)
func main() {
//sha1
h := sha1.New()
io.WriteString(h, "aaaaaa")
fmt.Printf("%x\n", h.Sum(nil))
//hmac ,use sha1
key := []byte("123456")
【go语言中crypto go语言中的nil】mac := hmac.New(sha1.New, key)
mac.Write([]byte("aaaaaa"))
fmt.Printf("%x\n", mac.Sum(nil))
}
关于go语言中crypto和go语言中的nil的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 怎样用java开发网站,怎么用java做一个网站
- 苹果桌面下载,苹果桌面下载软件
- oracle创建启动数据库,oracle10启动数据库
- 河北棋牌游戏开发的简单介绍
- mysql中怎么算加法 kvk男生能戴吗
- 怎么用电脑手写打印文档,如何在电脑手写
- js数据传php,js数据传输方式
- 手机网络设置IP代理,手机网络设置ip代理怎么设置
- c语言中如何调用排序函数 c语言中如何调用排序函数