加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 18:41:31 所属栏目:大数据 来源:网络整理
导读:pre name="code" class="plain"package mainimport ("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
<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")
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读