LINUX.ORG.RU
ФорумAdmin

Проверить доступность по ssh

 , , ,


0

1

Ребят, имеется такая проблема. У меня есть доступ к виртуальному серверку. Мне нужна команда, которая определяет есть ли доступ к серверу по определенному порту или нет. Когда соединение сброшено, я могу без проблем получить от ssh код 255 и понять, что ничего не работает, а вот когда работает, ssh просит ввести пароль. Т.к. скрипт не будет вводить пароль, ssh не вернет код. Мне нужно сделать уведомление через bash, что сервер заработал.

ssh -q user@server exit

Возвращает 0 или 255 в зависимости от доступности ssh на той стороне.

Deleted ()
Ответ на: комментарий от promistrio

Действительно спрашивает. Просто у меня уже нет ни одного хоста с авторизацией по паролю, но я думал, что и с ним сработает. Тогда можно парсить вывод nmap. Но лучше настроить авторизацию по ключам.

Deleted ()

check_ssh от nagios/icinga

Usage:
check_ssh  [-4|-6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>

icinga:/usr/lib/nagios/plugins# ls -l check_ssh 
-rwxr-xr-x 1 root root 50832 Jul 13 13:48 check_ssh

icinga:/usr/lib/nagios/plugins# ldd check_ssh 
	linux-gate.so.1 =>  (0xb7795000)
	libnsl.so.1 => /lib/i386-linux-gnu/i686/cmov/libnsl.so.1 (0xb7766000)
	libresolv.so.2 => /lib/i386-linux-gnu/i686/cmov/libresolv.so.2 (0xb7752000)
	libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb7738000)
	libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xb7734000)
	libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb75d1000)
	/lib/ld-linux.so.2 (0xb7796000)
sdio ★★★★★ ()

Мне нужна команда, которая определяет есть ли доступ к серверу по определенному порту или нет.

nc -w 2 -zv localhost 22
kdask ()
Ответ на: комментарий от promistrio

На сервере к которому я подключаюсь?

Ключи генерируешь на клиенте, потом добавляешь публичный клиентский ключ на сервер. Как-то так это делается:

ssh-keygen
chmod -R 700 ~/.ssh
ssh-copy-id user@server

Deleted ()
Ответ на: комментарий от Deleted

Фишка вот в чем. Мне выделили сервер, но пока он не работает. Я просто хотел сделать уведомлялку, что он заработал и все:). Думал, что справлюсь одной командой ну да ладно. Всем спасибо.

promistrio ()

ребята выше жгут

Мне нужна команда, которая определяет есть ли доступ к серверу по определенному порту или нет

nc ip.a.d.dr port

reprimand ★★★★★ ()
Ответ на: комментарий от promistrio

хотел сделать уведомлялку, что он заработал

А чем ping не угодил тогда?

beastie ★★★★★ ()

nc, telnet и др.

anonymous ()

ssh -o PreferredAuthentications='none' 127.0.0.1
можно также добавить опции -o PasswordAuthentication='no' -o PubkeyAuthentication='no' чтоб исключить всякое.

bl ★★★ ()

определяет есть ли доступ к серверу по определенному порту или нет.

telnet

dada ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.