GO語言使用開源SSH模擬終端的代碼

y35w 9年前發布 | 6K 次閱讀 Golang SSH

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

} </pre>

 本文由用戶 y35w 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!