Commit ce97e4e6 authored by ibuler's avatar ibuler

[Update] commit

parent 2caf26b3
......@@ -28,7 +28,7 @@ func checkAuth(ctx ssh.Context, password, publicKey string) (ok bool) {
ctx.SetValue(cctx.ContextKeyUser, user)
}
logger.Infof("%s %s for %s from %s", action, authMethod, username, remoteAddr)
return false
return ok
}
func CheckUserPassword(ctx ssh.Context, password string) bool {
......
......@@ -31,10 +31,12 @@ type Context interface {
SetValue(key, value interface{})
}
// Context coco内部使用的Context
type CocoContext struct {
context.Context
}
// User 返回当前连接的用户model
func (ctx *CocoContext) User() *sdk.User {
return ctx.Value(ContextKeyUser).(*sdk.User)
}
......@@ -62,7 +64,6 @@ func (ctx *CocoContext) SetValue(key, value interface{}) {
func applySessionMetadata(ctx *CocoContext, sess ssh.Session) {
ctx.SetValue(ContextKeySSHSession, &sess)
ctx.SetValue(ContextKeySSHCtx, sess.Context())
//ctx.SetValue(ContextKeyUser, &sdk.User{Username: sess.User()})
ctx.SetValue(ContextKeyLocalAddr, sess.LocalAddr())
}
......
package transport
package proxy
import "context"
......
package transport
package proxy
import (
"cocogo/pkg/parser"
......
package proxy
import (
"cocogo/pkg/transport"
"cocogo/pkg/userhome"
"context"
"sync"
"github.com/sirupsen/logrus"
"cocogo/pkg/logger"
)
var log = logrus.New()
type Switch struct {
}
var Manager = &manager{
container: new(sync.Map),
......@@ -63,7 +63,7 @@ func (m *manager) Switch(ctx context.Context, uHome userhome.SessionHome, agent
select {
case buf1, ok := <-userSendRequestStream:
if !ok {
log.Warn("userSendRequestStream close")
logger.Warn("userSendRequestStream close")
userSendRequestStream = nil
close(nodeRequestChan)
continue
......@@ -71,7 +71,7 @@ func (m *manager) Switch(ctx context.Context, uHome userhome.SessionHome, agent
nodeRequestChan <- buf1
case buf2, ok := <-nodeSendResponseStream:
if !ok {
log.Warn("nodeSendResponseStream close")
logger.Warn("nodeSendResponseStream close")
nodeSendResponseStream = nil
close(userReceiveStream)
cancelFunc()
......@@ -79,11 +79,11 @@ func (m *manager) Switch(ctx context.Context, uHome userhome.SessionHome, agent
}
userReceiveStream <- buf2
case <-ctx.Done():
log.Info("proxy end by context done")
logger.Info("proxy end by context done")
cancelFunc()
return nil
}
}
log.Info("proxy end")
logger.Info("proxy end")
return nil
}
package transport
package proxy
import (
"context"
......
package userhome
package proxy
import (
"context"
......
......@@ -12,6 +12,8 @@ import (
"cocogo/pkg/sshd/handler"
)
const version = "coco-v1.4"
var (
conf = config.Conf
)
......@@ -30,7 +32,7 @@ func StartServer() {
PublicKeyHandler: auth.CheckUserPublicKey,
KeyboardInteractiveHandler: auth.CheckMFA,
HostSigners: []ssh.Signer{signer},
Version: "coco-v1.4",
Version: version,
Handler: handler.SessionHandler,
}
logger.Fatal(srv.ListenAndServe())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment