LINUX.ORG.RU
ФорумAdmin

bash и cisco, перестал логинится в SUSE.

 , ,


1

1

Добрый день, перенес скрипты с виртуалки Ubuntu на рабочий сервер OpenSUSE. То же скрипт, что работал на Ubuntu теперь не может пройти логин и пароль на OpenSUSE, то есть если в Ubuntu все проходило, вводился логин и пароль, то в OpenSUSE просто висит на строке ввода логина. Вот кусок скрипта.

#!/bin/bash

#echo "ssh -l monitor 10.10.10.10"
#sleep 3
#echo "passwd"
echo "ssh -l login 10.0.0.20"
sleep 3
echo "passwd"

Если руками логинится все работает, все доступно. Судя по всему он вводит все команды в скрипте, но только не логин и пароль. Скажите, что не так?



Последнее исправление: lexlex361 (всего исправлений: 2)

При чем тут Cisco? Твой скрипт просто выводит сообщения в консоль, каким образом он должен подключаться куда-то? Логиниться вообще лучше по ключам, а так читай про expect.

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

тип железки не важен на самом деле. expect там не могу использовать пока.

lexlex361
() автор топика

1) логинься по ключу

2) выполняй команды следом за хостом, ssh user@10.10.10.10 «free -m»

3) повторяй пункт два

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

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

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

это линукс, детка, сборная солянка из всего что было под рукой

используй POSIX-shell если хочешь совместимости.

Spoofing ★★★★★
()

Почему не хотите передавать команды в таком виде?

#!/bin/bash
ssh admin@192.168.0.1 -i cisco_key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=quiet << EOF
conf t
bla bla
EOF
anonymous
()
Ответ на: комментарий от anonymous

можно и так, попробую. Изначально написал как, есть и прекинул на другую машину на которой и не работает(

lexlex361
() автор топика

Приведённый выше скрипт и не должен никуда логиниться. Он просто выводит 2 строчки в stdout с промежутком в 3 секунды. Всё.

Black_Shadow ★★★★★
()

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

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

Как будет правильно? Тебе готовый скрипт написать? Этого я делать не буду.

Давай разберём твой скрипт по строчкам. Первая строка говорит, что для исполнения скрипта надо использовать bash. Все строчки, начинающиеся с # - комментарии, их рассматривать не будем.

Строка

echo "ssh -l login 10.0.0.20"
выводит в stdout строку «ssh -l login 10.0.0.20»
Строка
sleep 3
ждёт 3 секунды
Строка
echo "passwd"
выводит в stdout строку «passwd»
В этом скрипте нет ничего, что бы создавало сетевые подключения.

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

Этот скрипт запускается когда приходят однокласники, чтоб на экране было как в фильмах про хакиров.

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