diff --git a/commands/prepare.go b/commands/prepare.go index 1053da97e3..c8a674157d 100644 --- a/commands/prepare.go +++ b/commands/prepare.go @@ -140,6 +140,12 @@ func (p *PrepareCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interface{ logger.Info("Detecting OS... ") scan.InitServers(logger) + logger.Info("Checking sudo configuration... ") + if err := scan.CheckIfSudoNoPasswd(logger); err != nil { + logger.Errorf("Failed to sudo with nopassword via SSH. Define NOPASSWD in /etc/sudoers on target servers") + return subcommands.ExitFailure + } + logger.Info("Installing...") if errs := scan.Prepare(); 0 < len(errs) { for _, e := range errs { diff --git a/scan/serverapi.go b/scan/serverapi.go index bf4a985266..0bbc1d8371 100644 --- a/scan/serverapi.go +++ b/scan/serverapi.go @@ -369,7 +369,7 @@ func detectContainerOSesOnServer(containerHost osTypeInterface) (oses []osTypeIn // CheckIfSudoNoPasswd checks whether vuls can sudo with nopassword via SSH func CheckIfSudoNoPasswd(localLogger *logrus.Entry) error { - timeoutSec := 1 * 15 + timeoutSec := 15 errs := parallelSSHExec(func(o osTypeInterface) error { return o.checkIfSudoNoPasswd() }, timeoutSec)