首页 文章

使用python脚本连接到路由器的ssh

提问于
浏览
1

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

非常感谢你提前

2 回答

  • 4

    您可以使用 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环境中 .

  • 0

    plumbum正是您要找的 . (remote commands

相关问题