From 7639c1d5a7dc5352c77e7cb12716a4bc5e0ca60f Mon Sep 17 00:00:00 2001 From: Boshi Lian Date: Sat, 14 May 2022 11:15:21 +0000 Subject: [PATCH] add detail logs to upstream and challenger --- sshpiperd/sshpiperd.go | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/sshpiperd/sshpiperd.go b/sshpiperd/sshpiperd.go index a8ba1c93..5123f694 100644 --- a/sshpiperd/sshpiperd.go +++ b/sshpiperd/sshpiperd.go @@ -78,7 +78,17 @@ func installDrivers(piper *ssh.PiperConfig, config *piperdConfig, logger *log.Lo return fmt.Errorf("upstream driver return nil handler") } - piper.FindUpstream = handler + piper.FindUpstream = func(conn ssh.ConnMetadata, challengeCtx ssh.AdditionalChallengeContext) (net.Conn, *ssh.AuthPipe, error) { + c, a, err := handler(conn, challengeCtx) + if err != nil { + logger.Errorf("upstream driver [%v] cannot find upstream due to [%v]", plugin.GetName(), err) + } else { + logger.Debugf("upstream driver [%v] found upstream connection [%v]", plugin.GetName(), c.RemoteAddr().String()) + } + + return c, a, err + } + return nil }, }, @@ -96,7 +106,21 @@ func installDrivers(piper *ssh.PiperConfig, config *piperdConfig, logger *log.Lo return fmt.Errorf("challenger driver return nil handler") } - piper.AdditionalChallenge = handler + piper.AdditionalChallenge = func(conn ssh.ConnMetadata, client ssh.KeyboardInteractiveChallenge) (ssh.AdditionalChallengeContext, error) { + c, err := handler(conn, client) + if err != nil { + logger.Errorf("challenger [%v] failed [%v]", plugin.GetName(), err) + } else { + if c != nil { + logger.Infof("challenger [%v] success with challenged username", plugin.GetName(), c.ChallengedUsername()) + } else { + logger.Debugf("challenger [%v] success with empty context", plugin.GetName()) + } + } + + return c, err + } + return nil }, },