GO语言使用开源SSH模拟终端

<pre name="code" class="plain">package main

import (
	"go-ssh/ssh"
	"log"
	"os"
)

func main() {
	check := func(err error, msg string) {
		if err != nil {
			log.Fatalf("%s error: %v", msg, err)
		}
	}

	client, err := ssh.Dial("tcp", "192.168.10.248", &ssh.ClientConfig{
		User: "root",
		Auth: []ssh.AuthMethod{ssh.Password("123456")},
	})
	check(err, "dial")

	session, err := client.NewSession()
	check(err, "new session")
	defer session.Close()

	session.Stdout = os.Stdout
	session.Stderr = os.Stderr
	session.Stdin = os.Stdin

	modes := ssh.TerminalModes{
		ssh.ECHO:          0,
		ssh.TTY_OP_ISPEED: 14400,
		ssh.TTY_OP_OSPEED: 14400,
	}
	err = session.RequestPty("xterm", 25, 100, modes)
	check(err, "request pty")

	err = session.Shell()
	check(err, "start shell")

	err = session.Wait()
	check(err, "return")
}
				
时间: 2024-10-28 14:23:21

GO语言使用开源SSH模拟终端的相关文章

web模拟终端博客系统

本文由QQ音乐前端团队发表 前段时间做了一个非常有意思的模拟终端的展示页:http://ursb.me/terminal/(没有做移动端适配,请在PC端访问),这个页面非常有意思,它可以作为个人博客系统或者给 Linux 初学者学习终端命令,现分享给大家~ 开源地址:airingursb/terminal 0x01 样式 打开页面效果如下图所示: 其实这里的样式就直接 Copy 了自己 Mac 上 Terminal 的界面,当然界面上的参数都是自己写的,表示穷人没有钱买这么高配的电脑- 注:截图

解决Linux关闭SSH,终端后运行程序终止问题(包括后台)

问题描述: 每次SSH到服务器上,然后运行了一个自己写的服务端程序,比如 ./myserver.sh ,然后关闭ssh或者终端之后,发现服务不能访问. 简要分析下: 根据   这篇博文  的提示,ssh登录后会新建一个会话,一个登陆shell发起的会话,一般由一个会话首进程.一个前台进程组.一个后台进程组组成.通常来说,会话首进程是一个登录shell,比如bash.进程组是一个或多个进程的集合,进程组属于一个会话.一般来说,一个进程组中的其它进程的父进程是进程组组长进程的ID,如果,这个进程组组

部标808协议模拟终端的设计和开发

围绕车载部标GPS硬件开发的各种企业部标监控平台,如油耗.冷链运输.公交.危险品运输等平台,在开发过程中,都面临一个很重要的问题就是如何测试.因为整个软件平台的数据都是来自于车载GPS,我们不能在开发阶段,在几百辆或几千辆车上去实弹测试.即使在一台车上安装一个GPS来配合我们测试,成本也是非常高的. ? 所以必须要能够开发一款模拟软件来配合我们进行软件开发,可以精确的模拟车辆运行的实际环境,可以能够控制终端进行复杂的测试环境的临界点模拟.很多时候所谓复杂场景指的是各种类型的数据交错综合在一起的场

使用GO语言灵活批量ssh登录服务器执行操作

摘要: 在工作中时常需要登录服务器做一系列操作,每次输入ssh xxx总是很麻烦.这时候为什么不考虑写一个通用的小脚本呢? go语言是一门新兴语言,能够在很多地方发挥总用.初学go语言,做了这么一个小工具,也算是练练手了. 这个小程序实现的功能是从用户指定的文件中读取相关配置,然后根据用户指令执行相关操作. 代码如下: package main import ( "fmt" "golang.org/x/crypto/ssh" "os" "

OpenAI 开源机器人模拟 Python 库,并行模拟处理速度提升400%

10000da.cnvboyule.cnjiaeidaypt.cn 在过去一年的研究中,OpenAI团队开源一个使用 MuJoCoengine开发的用于机器人模拟的高性能Python库.雷锋网了解到, 该Python库是OpenAI团队深入学习机器人研究的核心工具之一,现在该团队发布的是作为MuJoCo的主要版本的mujoco-py(Python 3 的 MuJoCo 绑定). Mujoco-py 1.50.1.0带来了许多新的功能和显着的性能提升.雷锋网获悉,新功能包括以下几点: 高效处理并行

C语言是开源的吗?C++是开源的吗?C语言、C++是两个开源的标准,而不是开源软件或其它

我一度对于C语言与C++是不是开源语言很困惑:为什么有那么多人鼓吹Java.Python.PHP等是开源语言,却没有人提C与C++开源与否呢?今天在stackoverflow上找到了几个比较满意的回答,特写篇博文总结一下老外的回答,也供各位对此问题持疑问态度的朋友一个参考. 关于C语言开源与否: C语言是一个由ISO组织中的ANSI制定的标准,任何个人或者组织都可以根据这个标准将其实现.现今,世界上有许多不同的C语言实现,比较著名的有:GCC.Watcom.MS C等,其中前两者是开源的,后者是

Go语言(golang)开源项目大全

转http://www.open-open.com/lib/view/open1396063913278.html内容目录Astronomy构建工具缓存云计算命令行选项解析器命令行工具压缩配置文件解析器控制台用户界面加密数据处理数据结构数据库和存储开发工具分布式/网格计算文档编辑器Encodings and Character SetsGamesGISGo ImplementationsGraphics and AudioGUIs and Widget ToolkitsHardwareLangu

GO语言的开源库

Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.org gowalker gosearch Sourcegraph Contributing To edit this page you must be a contributor to the go-wiki project. To get contributor access, send mail t

如何设置SSH服务终端的超时时间或不超时

ssh是目前代替telnet的最安全的方法,不过在用ssh连接server的过程中,经常会遇到长时间不操作而被server踢出的情况,常见的提示如下: Write failed: Broken pipe 通常这类问题是我们在使用linux作为client的时候遇到的会多一点,党委server是linux,而client为windows,而我们常用的软件为xshell等,xshell会自动为我们续期, 解决这个问题的方法很多,下面列举两种在client和server的解决办法: 一.cilent: