update at 2023/08/14
This commit is contained in:
77
sshsvc/sshsvc.go.ok
Normal file
77
sshsvc/sshsvc.go.ok
Normal file
@@ -0,0 +1,77 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
"github.com/gliderlabs/ssh"
|
||||
"golang.org/x/crypto/ssh/terminal"
|
||||
)
|
||||
|
||||
// func main() {
|
||||
// ssh.Handle(func(s ssh.Session) {
|
||||
// io.WriteString(s, "Hello world\n")
|
||||
// })
|
||||
|
||||
// log.Fatal(ssh.ListenAndServe(":2222", nil, ssh.HostKeyFile("../.ssh/id_rsa")))
|
||||
// }
|
||||
|
||||
// func main() {
|
||||
// ssh.ListenAndServe(":2222", nil, ssh.HostKeyFile("../.ssh/id_rsa"),
|
||||
// ssh.PasswordAuth(func(ctx ssh.Context, pass string) bool {
|
||||
// return pass == "123456"
|
||||
// }),
|
||||
// )
|
||||
// }
|
||||
|
||||
func main() {
|
||||
ssh.Handle(func(s ssh.Session) {
|
||||
|
||||
term := terminal.NewTerminal(s, "> ")
|
||||
for {
|
||||
line, err := term.ReadLine()
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
// 在这里处理输入的命令
|
||||
// 您可以根据需要添加更多的逻辑
|
||||
if strings.TrimSpace(line) == "exit" {
|
||||
break
|
||||
}
|
||||
|
||||
log.Println(line)
|
||||
if line != "" {
|
||||
term.Write(append([]byte(line), '\n'))
|
||||
}
|
||||
}
|
||||
log.Println("terminal closed")
|
||||
})
|
||||
|
||||
log.Println("starting ssh server on port 2222...")
|
||||
ssh.ListenAndServe(":2222", nil, ssh.HostKeyFile("../.ssh/id_rsa"),
|
||||
ssh.PasswordAuth(func(ctx ssh.Context, pass string) bool {
|
||||
return pass == "123456"
|
||||
}),
|
||||
)
|
||||
}
|
||||
|
||||
func Handle(sess ssh.Session) {
|
||||
term := terminal.NewTerminal(sess, "> ")
|
||||
for {
|
||||
line, err := term.ReadLine()
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
// 在这里处理输入的命令
|
||||
// 您可以根据需要添加更多的逻辑
|
||||
if strings.TrimSpace(line) == "exit" {
|
||||
break
|
||||
}
|
||||
|
||||
log.Println(line)
|
||||
if line != "" {
|
||||
term.Write(append([]byte(line), '\n'))
|
||||
}
|
||||
}
|
||||
log.Println("terminal closed")
|
||||
}
|
||||
Reference in New Issue
Block a user