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

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
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")  
}  

标签: isp

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇: json字符串与Object、List、Map的互转工具类

下一篇:Java占位符替换工具类