fix: telnet server update
This commit is contained in:
@@ -19,7 +19,7 @@ import (
|
||||
"be.ems/sshsvc/config"
|
||||
"be.ems/sshsvc/logmml"
|
||||
"be.ems/sshsvc/snmp"
|
||||
telnetOMC "be.ems/sshsvc/telnet"
|
||||
omctelnet "be.ems/sshsvc/telnet"
|
||||
|
||||
//"github.com/gliderlabs/ssh"
|
||||
"golang.org/x/crypto/ssh"
|
||||
@@ -126,18 +126,18 @@ func main() {
|
||||
// os.Exit(6)
|
||||
// }
|
||||
|
||||
telnetSvc := telnetOMC.TelnetHandler{
|
||||
// ListenAddr: conf.TelnetServer.ListenAddr,
|
||||
// ListenPort: conf.TelnetServer.ListenPort,
|
||||
// UserName: conf.TelnetServer.UserName,
|
||||
// Password: conf.TelnetServer.Password,
|
||||
// AuthType: conf.TelnetServer.AuthType,
|
||||
// MaxConnNum: conf.TelnetServer.MaxConnNum,
|
||||
// TagNE: conf.TelnetServer.TagNE,
|
||||
telnetSvc := omctelnet.TelnetHandler{
|
||||
ListenAddr: conf.TelnetServer.ListenAddr,
|
||||
ListenPort: conf.TelnetServer.ListenPort,
|
||||
UserName: conf.TelnetServer.UserName,
|
||||
Password: conf.TelnetServer.Password,
|
||||
AuthType: conf.TelnetServer.AuthType,
|
||||
MaxConnNum: conf.TelnetServer.MaxConnNum,
|
||||
TagNE: conf.TelnetServer.TagNE,
|
||||
ListenHost: conf.TelnetServer.ListenAddr + ":" + strconv.Itoa(int(conf.TelnetServer.ListenPort)),
|
||||
}
|
||||
// go telnetSvc.StartTelnetServer()
|
||||
go StartTelnetServer(telnetSvc.ListenHost)
|
||||
go telnetSvc.StartTelnetServer()
|
||||
// go StartTelnetServer(telnetSvc.ListenHost)
|
||||
|
||||
snmpSvc := snmp.SNMPService{
|
||||
ListenAddr: conf.SNMPServer.ListenAddr,
|
||||
@@ -335,9 +335,6 @@ func HandleCommands(user, tag string, reader *bufio.Reader, writer *bufio.Writer
|
||||
writer.Flush()
|
||||
return
|
||||
case "":
|
||||
// case "\n":
|
||||
// case "\r\n":
|
||||
case "\xff\xfe\x01":
|
||||
default:
|
||||
writer.WriteString("\r\nUnknown command\r\n")
|
||||
writer.Flush()
|
||||
@@ -347,38 +344,6 @@ func HandleCommands(user, tag string, reader *bufio.Reader, writer *bufio.Writer
|
||||
}
|
||||
}
|
||||
|
||||
// 处理命令输入
|
||||
func HandleCommandsNew(user, tag string, reader *bufio.Reader, writer *bufio.Writer) {
|
||||
header := fmt.Sprintf("[%s@%s]> ", user, tag)
|
||||
clearLine := "\033[2K\r" // ANSI 转义序列,用于清除当前行
|
||||
for {
|
||||
writer.WriteString(clearLine + header)
|
||||
writer.Flush()
|
||||
|
||||
command, err := reader.ReadString('\n')
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
command = strings.TrimSpace(command)
|
||||
|
||||
// Handle other commands
|
||||
switch command {
|
||||
case "hello":
|
||||
writer.WriteString("\r\nHello, world!\r\n")
|
||||
case "time":
|
||||
writer.WriteString(fmt.Sprintf("\r\nCurrent time: %s\r\n", time.Now().Format(time.RFC1123)))
|
||||
case "exit", "quit":
|
||||
writer.WriteString("\r\nGoodbye!\r\n")
|
||||
writer.Flush()
|
||||
return
|
||||
default:
|
||||
writer.WriteString("\r\nUnknown command\r\n")
|
||||
}
|
||||
|
||||
writer.Flush()
|
||||
}
|
||||
}
|
||||
|
||||
func handleSSHConnection(conn net.Conn, serverConfig *ssh.ServerConfig) {
|
||||
// SSH握手
|
||||
sshConn, chans, reqs, err := ssh.NewServerConn(conn, serverConfig)
|
||||
|
||||
Reference in New Issue
Block a user