Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Zabbix&EdgeRouter.  (Прочитано 498 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн poxeron

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Zabbix&EdgeRouter.
« : 16 Сентября 2020, 05:05:02 »
Здравствуйте.
Ребята, я новичок. Пожалуйста , не забрасывайте камнями.
Принесли железяку.
Сказали , что заббикс сервер должен  должен на нее удаленно логиниться и запускать iperf3 сервер на удаленной стороне и в тоже время
iperf клиент от себя.

уже пару дней борюсь.

была неудачаная  попытка создать скрипт.

Пока , даже автозалогинивание не удалось полечить.

sshpass  ssh ubnt:10.1.48.9
ssh: Could not resolve hostname ubnt:10.1.48.9: Name or service not known
хотя

ping 10.1.48.9
PING 10.1.48.9 (10.1.48.9) 56(84) bytes of data.
64 bytes from 10.1.48.9: icmp_seq=1 ttl=56 time=31.1 ms
64 bytes from 10.1.48.9: icmp_seq=2 ttl=56 time=32.1 ms
64 bytes from 10.1.48.9: icmp_seq=3 ttl=56 time=31.1 ms

Вводные:
1) если нахожусь на сервера забикса через putty и  ввожу ssh ubnt:10.1.48.9 'hostname'  получаю ответ :

ubnt@10.1.48.9's password:

(потом расскажу про веб интерфейс и отработку данной команды через него, если зайдет речь)

Таких роутеров может быть очень много , поэтому из всейс строки ubnt@10.1.48.9's password:   - мне по сути нужно только последнее слово "password:". Пытался обрезать все остальное при помощи

s="start_string_end"
 var1=${s%string*} #До стринг
 var2=${s#*string} #После стринг


у меня не получилось. Банально не хватает знаний. может вообще все криво делаю.

пытался загнать ответ роутера в переменную или даже в файл и потом распечатать ее, чтобы увидеть чтоже он передает.
Но она пустая. Опять таки , вероятно кривые руки.

login_EdgeRouter.sh
ssh ubnt@10.1.48.9
read $REPLY > /home/reply
echo $REPLY > /home/reply

Но в ответ пустота.

нашел на просторах инета инфо про
autoexpect ./login_EdgeRouter.sh


в ответ


set timeout -1
spawn ./login_EdgeRouter.sh
match_max 100000
send -- "\r"
expect -exact "\r
"
send -- "\r"
expect -exact "\r
"
send -- "\r"
expect -exact "\r
"
send -- ""
expect eof

В общем в голове слошнейшая каша и идеи заканчиваются.

Помогите , пожалуйста.

Обещаю прочитать
http://ruvds.com/doc/bash.pdf (Bash-скрипты, руководство в 11 частях Источник: https://likegeeks.com/ Перевод: https://habrahabr.ru/company/ruvds/blog/)

Но на дайнный момент очень нуждаюсь в помощи коллективного разума.

Пользователь добавил сообщение 16 Сентября 2020, 05:44:17:
Ребята, таки нашел способ для автозалогинивания. все оказалось просто. Руки выравниваются ))

 1  #!/usr/bin/expect
     2
     3  spawn ssh username@10.1.48.9
     4  expect "username@10.1.48.9's password:"
     5  send "password\r"
     6  interact

Теперь осталось понять как в рамках одной сессии запустить сервис на удаленном хосте, не закрывая сессию запустить сервис на локальном компе. 

Или же как в рамках скрипта сделать разделение по разным сессиям.


« Последнее редактирование: 16 Сентября 2020, 05:44:17 от poxeron »

 

Страница сгенерирована за 0.349 секунд. Запросов: 26.