Jump to content
  • 0

Python - SSH - keenetic - error


Максим Чаховский

Question

Из 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'

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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")

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

Edited by Kiborg_Man
Link to comment
Share on other sites

  • 0
7 часов назад, Kiborg_Man сказал:

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

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

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

Edited by Dorik1972
Link to comment
Share on other sites

  • 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)> 

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

  • 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 не существует.

Edited by Kiborg_Man
Link to comment
Share on other sites

  • 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, более пригодный для разбора, чем просто текстовый вывод.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...