Skip to main content
 首页 » 编程设计

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

2025年05月04日18leader

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

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

这是几行:

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

提前谢谢你

请您参考如下方法:

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

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


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