NAME
ssh-ping
SYNOPSIS
ssh-ping [OPTIONS] [user@]hostname
DESCRIPTION
check if host is reachable using ssh_config
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
- --version
-
show version information
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
- SSH_PING_NO_COLORS
-
if set, no colors are shown (like -n)
EXIT_CODES
- 0
-
No requests lost
- 1
-
More than 1 request lost
- 2
-
All requests lost
EXAMPLES
- ssh-ping -E hostname && echo "First successful ping. Starting rsync..."
- ssh-ping -q -c 1 hostname >/dev/null && echo "Host is up!"
- ssh-ping -q -c 1 hostname >/dev/null || echo "Host is down!"
- SSH_PING_NO_COLORS=true ssh-ping -c 1 hostname