aboutsummaryrefslogtreecommitdiff
path: root/plugins/check_by_ssh.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/check_by_ssh.c')
-rw-r--r--plugins/check_by_ssh.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/plugins/check_by_ssh.c b/plugins/check_by_ssh.c
index 1d39985f..d1cbf936 100644
--- a/plugins/check_by_ssh.c
+++ b/plugins/check_by_ssh.c
@@ -166,6 +166,8 @@ process_arguments (int argc, char **argv)
{"proto2", no_argument, 0, '2'},
{"use-ipv4", no_argument, 0, '4'},
{"use-ipv6", no_argument, 0, '6'},
+ {"ssh-option", required_argument, 0, 'o'},
+ {"quiet", no_argument, 0, 'q'},
{0, 0, 0, 0}
};
@@ -177,7 +179,7 @@ process_arguments (int argc, char **argv)
strcpy (argv[c], "-t");
while (1) {
- c = getopt_long (argc, argv, "Vvh1246ft:H:O:p:i:u:l:C:S:n:s:", longopts,
+ c = getopt_long (argc, argv, "Vvh1246fqt:H:O:p:i:u:l:C:S:n:s:o:", longopts,
&option);
if (c == -1 || c == EOF)
@@ -253,6 +255,12 @@ process_arguments (int argc, char **argv)
else
skip = atoi (optarg);
break;
+ case 'o': /* Extra options for the ssh command */
+ asprintf (&comm, "%s -%c '%s'", comm, c, optarg);
+ break;
+ case 'q': /* Tell the ssh command to be quiet */
+ asprintf (&comm, "%s -%c", comm, c);
+ break;
default: /* help */
usage_va(_("Unknown argument - %s"), optarg);
}
@@ -344,6 +352,10 @@ print_help (void)
printf (" %s\n", _("list of nagios service names, separated by ':' [optional]"));
printf (" %s\n","-n, --name=NAME");
printf (" %s\n", _("short name of host in nagios configuration [optional]"));
+ printf (" %s\n","-o, --ssh-option=OPTION");
+ printf (" %s\n", _("Call ssh with '-o OPTION' (may be used multiple times) [optional]"));
+ printf (" %s\n","-q, --quiet");
+ printf (" %s\n", _("Tell ssh to suppress warning and diagnostic messages [optional]"));
printf (_(UT_WARN_CRIT));
printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT);
printf (" %s\n", _("The most common mode of use is to refer to a local identity file with"));
@@ -371,6 +383,6 @@ void
print_usage (void)
{
printf (_("Usage:"));
- printf(" %s [-f46] [-t timeout] [-i identity] [-l user] -H <host> -C <command>",progname);
- printf(" [-n name] [-s servicelist] [-O outputfile] [-p port]\n");
+ printf(" %s [-fq46] [-t timeout] [-i identity] [-l user] -H <host> -C <command>",progname);
+ printf(" [-n name] [-s servicelist] [-O outputfile] [-p port] [-o ssh-option]\n");
}