Ответы:
Как это:
nc -z hostname 22 > /dev/null
echo $?
Если это так, 0
то это доступно. Если это так, 1
то это не так.
-w
опции nc навсегда застрянет на Ubuntu
Используйте netcat :
nc -z localhost 22
Из справочной страницы
-z Specifies that nc should just scan for listening daemons,
without sending any data to them.
nc -z -w 2 192.168.0.123
(-w это опция тайм-аута в секундах) не тайм-аут: |
z
в. кто бы вы ни сканировали, он может получить информацию только о том, кто сканировал, не предоставивidentification string
Alternate:
nc -vzw 1 hostname 22
-w
опции nc
навсегда застрянет на Ubuntu
nc -zw 2 examplehost.com 22 && { echo "You can call your backup function" ; } || { echo "SSH Unavailable" ; }
Как насчет
MACHINE=192.168.0.8
exec 3>/dev/tcp/${MACHINE}/22
if [ $? -eq 0 ]
then
echo "SSH up"
else
echo "SSH down"
fi
/dev/tcp
. Ubuntu, являющаяся производной от Debian, может также (но у меня нет конкретных знаний). Но если /dev/tcp
есть, то да, это совершенно верно.
exec 3>/dev/tcp/${HOST}/22
выглядит действительно "странно"
nc: invalid option -- 'z'