使用paramiko操控远程服务器执行命令

使用paramiko操控远程服务器执行命令

当我们需要在n多台远程服务器上执行相同的操作时,一台一台挨个去手动登录并执行命令很耗时,而且显得很呆。这时候使用程序自动连接并执行命令是明智之举。这里记录使用paramiko操控远程主机的实践过程

python安装paramiko模块

pip install paramiko

写脚本

import paramiko #导入paramiko模块
# 这里先读取一个远程服务器ip列表
f = open("iplist")
iplist = f.readlines()
f.close()
# 本过程使用公私密钥对进行身份认证,此处是指定ssh私钥位置
pKey = paramiko.RSAKey.from_private_key_file("C://Users//hanqing//.ssh//id_rsa")
for ip in iplist :
ip = ip.strip()
ssh = paramiko.SSHClient()
#load_system_host_keys()是载入用户.ssh目录下的known_hosts文件,如果knowns_hosts文件中没有目标主机的key,程序会抛出异常,连接失败;
ssh.load_system_host_keys()
#ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 如果不方便验证目标主机 host key,可以用这个函数替换ssh.load_system_host_keys()
ssh.connect(hostname=ip, port=22, username="username", pkey=pKey)
stdin, stdout, stderr = ssh.exec_command("cd /home && ls")
outputs = stdout.readlines() #outputs是一个输出结果list
for out in outputs :
print(out)
ssh.close()

以上是一个简单的批量操控远程服务器执行命令的脚本

posted @   realzhangsan  阅读(198)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示