Страница 1 из 1

ssh маниторинг

Добавлено: 2013-03-15 9:40:26
bagas
Добрый день.
Подскажи пожалуйста что я упустил.
Хочу сделать проверку на ип адрес, к уже рабочему скрипту по маниторингу ssh авторизаций.
Вот такой скрипт, по почему то переменная
NI пустая.
Если же убрать awk то переменная становится такого рода.

Код: Выделить всё

10.9.0.1 2534 10.9.0.157 22
Так вот я хочу отфильтровать ип адрес и сравнить его со своими, если адрес не мой то отсылается письмо об атворизации на сервере.
Пока что не пойму почему не работает фильтр.
Пробовал $SSH_CONNECTION | awk '{print $1}' брать в " " помогает , а также пробовал и с символом ` `

Код: Выделить всё

#!/bin/sh
NI=$SSH_CONNECTION | awk '{print $1}'
TI="10.9.0.1"
if [ "$NI" != "$TI" ]; then
echo -e "SSH Login on $(hostname -f)\n\nДата:\t\t$(date +%d.%m.%Y\%H:%M:%S)\nУдаленая_машина:\t$SSH_CONNECTION\nПользак:\t\t$USER\nShell:\t\t$SSH_TTY" | sendmail nail@mail.ru
Подскажите что я упустил?

Re: ssh маниторинг

Добавлено: 2013-03-15 9:46:26
bagas
Не доконца скопировал скрипт.
fi закрывает цикл.

Re: ssh маниторинг

Добавлено: 2013-03-15 9:47:53
mak_v_
Прастиде, русский нада учидь.
$SSH_CONNECTION - где вообще эту переменную вы огласили?

Re: ssh маниторинг

Добавлено: 2013-03-15 9:52:13
bagas
Писал попыхах,
переменная $SSH_CONNECTION берется из ssh окружения, когда кто-то залогинется.
$SSH_CONNECTION эта переменная отрабатывает нормально.
Вот ее вывод.
10.9.0.1 2534 10.9.0.157 22
Не получается от фильтровать ип адрес.

Re: ssh маниторинг

Добавлено: 2013-03-15 9:56:31
mak_v_
ну так смотрите где и когда она берётся

Код: Выделить всё

 echo "10.9.0.1 2534 10.9.0.157 22" | awk '{print $1}'
10.9.0.1

Re: ssh маниторинг

Добавлено: 2013-03-15 10:03:57
bagas
спасибо пользователю skelet
Он подсказал чего не хватает в скрипте.
А не хватает эха в переменной $NI
NI=`echo $SSH_CONNECTION | awk '{print $1}'`
mak_v_ тебе тоже спасибо за поддержку в трудную минуту.
Проблема решена.