2

我想知道是否有可能使用 python 脚本连接到路由器并通过 ssh 连接控制接口(关闭、重新启动无线网络等)。

到目前为止,我写了这些行,但它仍然不起作用。当我查看终端时,我发现在我的脚本应该回显路由器的密码以完成连接时,一切都被阻止了。请问我该如何纠正?

以下是几行:

import os, urllib, urllib2, re

def InterfaceControl():
   #os.system("echo training")
   os.system("ssh -l root 192.168.2.1")
   os.system("echo yes")
   os.system("echo My_ROUTER_PASSWORD")
   os.system("shutdown -r")



 def main():
     InterfaceControl()


 if __name__=="__main__":
     main()

非常感谢你提前

4

2 回答 2

6

你可以使用paramikowhich 是一个 python,它通过 ssh 抽象远程 shell 连接,有几个选项允许用户使用 rsa 密钥等进行身份验证。这是一个示例代码,你可以重复使用来解决你的问题:

import paramiko

ssh = paramiko.SSHClient()
ssh.connect( 'hostname', username = 'username', password = 'password' )
ssh.exec_command( 'ls -al' )


顺便说一句,如果您从虚拟环境 ( virtualenv ) 运行脚本,paramiko 可以轻松添加到您的 python 环境中。

于 2013-03-23T05:22:20.353 回答
0

是你要找的。(远程命令

于 2013-03-23T09:35:56.903 回答