使用python scrip与路由器的ssh连接

2024-10-06 12:37:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有可能使用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()

提前谢谢你


Tags: importecho脚本终端密码osmaindef
2条回答

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

import paramiko

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


顺便说一下,如果从虚拟环境(virtualenv)运行脚本,paramiko可以很容易地添加到python环境中。

你要找的是plumbum。(remote commands

相关问题 更多 >