码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-05-08 16:19:29      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:fatal   ack   auth   ssi   shel   isp   log   turn   pass   

<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")
}


   

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

标签:fatal   ack   auth   ssi   shel   isp   log   turn   pass   

原文地址:http://www.cnblogs.com/llguanli/p/6824943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!