diff --git a/pkg/auth/server.go b/pkg/auth/server.go
index 2c7b72d605b4776d8d1f54f8ff479ee45573e8d0..414358782790ce820199f813a4378c0d2260e6ef 100644
--- a/pkg/auth/server.go
+++ b/pkg/auth/server.go
@@ -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 {
diff --git a/pkg/cctx/context.go b/pkg/cctx/context.go
index a27114b9f8fe0d53f0efe2f698416d64c0401841..397fe924e5f318a5fafe39b585f6a450c108ef68 100644
--- a/pkg/cctx/context.go
+++ b/pkg/cctx/context.go
@@ -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())
 }
 
diff --git a/pkg/transport/conn.go b/pkg/proxy/conn.go
similarity index 89%
rename from pkg/transport/conn.go
rename to pkg/proxy/conn.go
index 6eef660df1adfa070d2d21e22082635a7804965a..259a924b722984d0f91a6e48fed19c9fdb797f37 100644
--- a/pkg/transport/conn.go
+++ b/pkg/proxy/conn.go
@@ -1,4 +1,4 @@
-package transport
+package proxy
 
 import "context"
 
diff --git a/pkg/transport/sshconn.go b/pkg/proxy/sshconn.go
similarity index 99%
rename from pkg/transport/sshconn.go
rename to pkg/proxy/sshconn.go
index d85faac0b535b5d2dadecc37faede1182ef65e94..d7694360f5a39ef07b38825b906cd8cbeeab13f4 100644
--- a/pkg/transport/sshconn.go
+++ b/pkg/proxy/sshconn.go
@@ -1,4 +1,4 @@
-package transport
+package proxy
 
 import (
 	"cocogo/pkg/parser"
diff --git a/pkg/proxy/switch.go b/pkg/proxy/switch.go
index 7db13364b9105d66e577ea2ac6210373cad43d6a..859f9bfa31fc521e5b60715787340b25e7a58f0c 100644
--- a/pkg/proxy/switch.go
+++ b/pkg/proxy/switch.go
@@ -1,15 +1,15 @@
 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
 }
diff --git a/pkg/transport/transport.go b/pkg/proxy/transport.go
similarity index 97%
rename from pkg/transport/transport.go
rename to pkg/proxy/transport.go
index b6a917ceb2929141bc5e9c64631c970e7af8b5eb..ca3264d039c121f3b8783cd59c56e2fd329169d9 100644
--- a/pkg/transport/transport.go
+++ b/pkg/proxy/transport.go
@@ -1,4 +1,4 @@
-package transport
+package proxy
 
 import (
 	"context"
diff --git a/pkg/userhome/userhome.go b/pkg/proxy/userhome.go
similarity index 99%
rename from pkg/userhome/userhome.go
rename to pkg/proxy/userhome.go
index 9ca0406bf60671c6592ae048ef1fbdd2aa23a959..6fe5e513725f1d63830a3b5d65816b0fc996ebf2 100644
--- a/pkg/userhome/userhome.go
+++ b/pkg/proxy/userhome.go
@@ -1,4 +1,4 @@
-package userhome
+package proxy
 
 import (
 	"context"
diff --git a/pkg/sshd/server.go b/pkg/sshd/server.go
index 4bc6c33a463daf581e72eeac39fb05a846355d62..4b4b343383e22974e39b4112c1d403fea2f601c4 100644
--- a/pkg/sshd/server.go
+++ b/pkg/sshd/server.go
@@ -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())