parent
3232bee379
commit
01e5a009e0
4 changed files with 158 additions and 5 deletions
|
|
@ -56,6 +56,23 @@ func newDaemon(ctx *cli.Context) (*daemon, error) {
|
|||
return nil, fmt.Errorf("failed to listen for connection: %v", err)
|
||||
}
|
||||
|
||||
bannertext := ctx.String("banner-text")
|
||||
bannerfile := ctx.String("banner-file")
|
||||
|
||||
if bannertext != "" || bannerfile != "" {
|
||||
config.BannerCallback = func(_ ssh.ConnMetadata, _ ssh.ChallengeContext) string {
|
||||
if bannerfile != "" {
|
||||
text, err := os.ReadFile(bannerfile)
|
||||
if err != nil {
|
||||
log.Warnf("cannot read banner file %v: %v", bannerfile, err)
|
||||
} else {
|
||||
return string(text)
|
||||
}
|
||||
}
|
||||
return bannertext
|
||||
}
|
||||
}
|
||||
|
||||
return &daemon{
|
||||
config: config,
|
||||
lis: lis,
|
||||
|
|
|
|||
|
|
@ -115,6 +115,18 @@ func main() {
|
|||
Usage: "create typescript format screen recording and save into the directory see https://linux.die.net/man/1/script",
|
||||
EnvVars: []string{"SSHPIPERD_TYPESCRIPT_LOG_DIR"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "banner-text",
|
||||
Value: "",
|
||||
Usage: "display a banner before authentication, would be ignored if banner file was set",
|
||||
EnvVars: []string{"SSHPIPERD_BANNERTEXT"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "banner-file",
|
||||
Value: "",
|
||||
Usage: "display a banner from file before authentication",
|
||||
EnvVars: []string{"SSHPIPERD_BANNERFILE"},
|
||||
},
|
||||
},
|
||||
Action: func(ctx *cli.Context) error {
|
||||
level, err := log.ParseLevel(ctx.String("log-level"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue