update handler options

This commit is contained in:
ginuerzh
2022-01-04 21:56:58 +08:00
parent 566e930010
commit c428b37a36
36 changed files with 468 additions and 524 deletions

View File

@ -4,7 +4,7 @@ import (
"fmt"
"net"
"github.com/go-gost/gost/pkg/auth"
auth_util "github.com/go-gost/gost/pkg/common/util/auth"
ssh_util "github.com/go-gost/gost/pkg/internal/util/ssh"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
@ -20,12 +20,12 @@ func init() {
type sshListener struct {
addr string
net.Listener
config *ssh.ServerConfig
authenticator auth.Authenticator
cqueue chan net.Conn
errChan chan error
logger logger.Logger
md metadata
config *ssh.ServerConfig
cqueue chan net.Conn
errChan chan error
logger logger.Logger
md metadata
options listener.Options
}
func NewListener(opts ...listener.Option) listener.Listener {
@ -51,14 +51,13 @@ func (l *sshListener) Init(md md.Metadata) (err error) {
l.Listener = ln
authenticator := auth_util.AuthFromUsers(l.options.Auths...)
config := &ssh.ServerConfig{
PasswordCallback: ssh_util.PasswordCallback(l.authenticator),
PasswordCallback: ssh_util.PasswordCallback(authenticator),
PublicKeyCallback: ssh_util.PublicKeyCallback(l.md.authorizedKeys),
}
config.AddHostKey(l.md.signer)
if l.authenticator == nil && len(l.md.authorizedKeys) == 0 {
if authenticator == nil && len(l.md.authorizedKeys) == 0 {
config.NoClientAuth = true
}