HFish/core/protocol/ssh/ssh.go

32 lines
646 B
Go
Raw Normal View History

2019-08-07 13:16:23 +08:00
package ssh
import (
"github.com/gliderlabs/ssh"
"HFish/core/report"
"strings"
"HFish/utils/log"
2019-08-10 18:26:43 +08:00
"HFish/utils/is"
"HFish/core/rpc/client"
2019-08-07 13:16:23 +08:00
)
func Start(addr string) {
ssh.ListenAndServe(addr, nil,
ssh.PasswordAuth(func(s ssh.Context, password string) bool {
info := s.User() + "&&" + password
arr := strings.Split(s.RemoteAddr().String(), ":")
log.Pr("SSH", arr[0], "已经连接")
2019-08-10 18:26:43 +08:00
// 判断是否为 RPC 客户端
if is.Rpc() {
go client.ReportResult("SSH", "", arr[0], info, "0")
} else {
go report.ReportSSH(arr[0], "本机", info)
}
2019-08-07 13:16:23 +08:00
return false // false 代表 账号密码 不正确
}),
)
}