SSH-PING(1)

NAME
ssh-ping - check if host is reachable using ssh_config

DESCRIPTION

    Usage: ssh-ping [OPTIONS] [user@]hostname

    OPTIONS:

-4  Use IPv4 only

-6  Use IPv6 only

-c count
    Stop after sending <count> request packets

-C  Connect as soon as the host responds and try reconnecting after a SSH session ends (e.g. rebooting). Useful also for IDRAC, IPMI, ILO devices, Switches, etc... which don't have a full shell environment. CTRL+C stops reconnect attempts.

-E  Exit immediately after first successful ping (can be used to trigger a follow up task like rsync)

-F configfile
    Specifies an alternative per-user configuration file. If a configuration file is given on the command line, the system-wide configuration file ( /etc/ssh/ssh_config ) will be ignored. The default for the per-user configuration file is ~/.ssh/config.

-h  Show this message

-i interval
    Wait <interval> seconds between sending each request. The default is 1 second.

-l user
    Try login with <user> as username. The default is the current value of $USER.

-D  Print timestamp (unix time + microseconds as in gettimeofday) before each line

-H  Print timestamp (human readable) before each line

-W timeout
    Time to wait for a response, in seconds

-p port
    Port to connect to on the remote host. This can be specified on a per-host basis in the configuration file.

-q  Quiet output. Nothing is displayed except the summary lines at startup time and when finished

-n  No colors. (e.g. for black on white terminals)

-v  Verbose output

    TAB_COMPLETIONS:

    Ubuntu (and maybe other distros) already ship shell completions for ssh which can be used:

    Bash : complete -F _known_hosts ssh-ping Zsh : compdef _ssh_hosts ssh-ping Fish : complete -c ssh-ping -a "(__fish_print_hostnames)"

    ENVIRONMENT_VARIABLES:

SSH_PING_NO_COLORS
    if set, no colors are shown (like -n)

Example:
    SSH_PING_NO_COLORS=true ssh-ping -c 1 hostname

    EXIT_CODES:

0   No requests lost

1   More than 1 request lost

2   All requests lost

Example:
    ssh-ping -q -c 1 hostname >/dev/null && echo "Host is up!" ssh-ping -q -c 1 hostname >/dev/null || echo "Host is down!"

EXAMPLES:
    ssh-ping -E hostname && echo "First successful ping. Starting rsync..."