Перейти к содержанию

Вопрос

Опубликовано

Из python вызываю SSH, выдает ошибку:

 

import paramiko

p = paramiko.SSHClient()

p.set_missing_host_key_policy(paramiko.AutoAddPolicy())

p.connect("192.168.1.1", port=22, username="admin", password="qwerty")

stdin, stdout, stderr = p.exec_command("show")

opt = stdout.read() + stderr.read()

print(opt)

 

b'[C] Feb 24 16:59:14 ndm: bin::ndmc: invalid option "-c".\n'

Рекомендуемые сообщения

  • 0
Опубликовано (изменено)
2 часа назад, Dorik1972 сказал:

как на счет 'ls -l' -> https://www.hostinger.com/tutorials/ssh/basic-ssh-commands .

Роутер непоймёт эту команду.

2 часа назад, Dorik1972 сказал:

??? что за команда show ???

Роутер должен показать определенные данные, только после show должен идти как аргумент, что он должен показать. Например команда show interface ISP показывает данные по  интерфейсу ISP.

18 часов назад, Максим Чаховский сказал:

stdin, stdout, stderr = p.exec_command("show")

А что роутер должен выдать?

Изменено пользователем Kiborg_Man
  • 0
Опубликовано (изменено)
7 часов назад, Kiborg_Man сказал:

Роутер непоймёт эту команду.

Лично я понял вопрос как то что "пациент" поднял SSH сИрвЕрок на "тельце" (Entware или Debian) и пытается к нему ломануться ... 

p.s. Таки да https://help.keenetic.com/hc/ru/articles/360000387189 ... есть уже и SSH из коробки ... тогда да задать правильную команду show с заданными параметрами аля "show system"

Изменено пользователем Dorik1972
  • 0
Опубликовано

Да, задача из сессии SSH исполнять команды CLI. После команды "show" ожидаю ответ "Core::Configurator: Done."

Вот что из терминала mac вручную (то же хочу получить из python):

MacBook-Air-Maksim-2:~ Chakhovsky$ ssh admin@192.168.1.1

admin@192.168.1.1's password: 

Keenetic OS version 2.15.B.0.0-4, copyright (c) 2010-2019 Keenetic Ltd.

THIS SOFTWARE IS A SUBJECT OF KEENETIC LIMITED END-USER LICENCE AGREEMENT. BY USING IT YOU

AGREE ON TERMS AND CONDITIONS HEREOF. FOR MORE INFORMATION PLEASE CHECK

https://keenetic.com/legal

(config)> show

Core::Configurator: Done.

(show)> 

  • 0
Опубликовано
8 часов назад, Максим Чаховский сказал:

Да, задача из сессии SSH исполнять команды CLI. После команды "show" ожидаю ответ "Core::Configurator: Done."

В текущей 2.15 это сделать нельзя, но можно будет в следующих версиях.

  • 0
Опубликовано (изменено)
1 час назад, sergeyk сказал:

В текущей 2.15 это сделать нельзя, но можно будет в следующих версиях.

Я могу, пример bash скрипта:

#!/usr/bin/expect -f

sleep 5

spawn ssh user0@192.168.1.1
expect "user0@192.168.1.1's password:" {send "user0\r"}
expect "(config)>" {send "show interface ISP\r"}
expect "(config)>" {send "show dyndns\r"}
expect "(config)>" {send "show\r"}
expect "(show)>" {send "acme\r"}
expect "(show)>" {send "\r"}
send "exit\r"
send "exit\r"
expect eof

P.S. Пользователя и пароля user0 не существует.

Изменено пользователем Kiborg_Man
  • 0
Опубликовано
В 24.02.2019 в 19:28, Максим Чаховский сказал:

Из python вызываю SSH, выдает ошибку:

import paramiko

p = paramiko.SSHClient()

p.set_missing_host_key_policy(paramiko.AutoAddPolicy())

p.connect("192.168.1.1", port=22, username="admin", password="qwerty")

stdin, stdout, stderr = p.exec_command("show")

opt = stdout.read() + stderr.read()

print(opt)

b'[C] Feb 24 16:59:14 ndm: bin::ndmc: invalid option "-c".\n'

Возможно для удаленного управления вам будет удобнее использовать RCI-интерфейс через HTTP, получая на выходе JSON, более пригодный для разбора, чем просто текстовый вывод.

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.