python ssh 连接远程服务器,修改文本内容,调用脚本

今天小编get到一个用python的paramiko库创建ssh对象,连接到远程服务器,并且修改文件内容调用脚本的好方法!!

主角当然是paramiko库啦,利用paramiko创建一个ssh对象,用于连接远程服务器

import paramiko
ssh = paramiko.SSHClient()#创建SSH对象

设置允许连接不在know_hosts的主机,ssh会将 访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts,当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,所以我们得设置ssh允许连接不在know_hosts的主机

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#允许连接不在know_hosts文件中的主机

设置好之后就可以开始连接服务器了,分别输入IP地址,端口,用户名和密码

ssh.connect(hostname='', port=, username='', password='')#连接服务器

然后就可以输入命令了,只要在linux终端能够执行的命令都能输入。

返回的第一个值为输入的命令,第二个值为命令返回的结果,第三个值为命令错误返回的结果

stdin,stdout,stderr = ssh.exec_command("")

打印出来

print(stdin.read())
print(stdout.read())
print(stderr.read())

用完之后记得把ssh给关了,免用占用资源

ssh.close()

转载于:https://www.cnblogs.com/4991tcl/p/11053069.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您的需求,可以使用Python的paramiko库来实现远程服务器连接和执行命令。以下是一个示例代码,帮助您理解如何实现: ```python import paramiko # 远程服务器信息 servers = [ {"host": "server1.example.com", "username": "user1", "password": "password1"}, {"host": "server2.example.com", "username": "user2", "password": "password2"}, # 添加更多服务器信息... ] # 待执行的命令 command = "python your_script.py" for server in servers: # 创建SSH客户端 client = paramiko.SSHClient() # 自动添加主机密钥 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: # 连接远程服务器 client.connect(hostname=server["host"], username=server["username"], password=server["password"]) # 执行命令 stdin, stdout, stderr = client.exec_command(command) # 输出执行结果 print(f"=== Output from {server['host']} ===") print(stdout.read().decode()) # 关闭连接 client.close() except Exception as e: print(f"Failed to connect to {server['host']}: {str(e)}") ``` 您需要根据实际情况修改`servers`列表中的服务器信息,以及`command`变量中的待执行命令。请确保在运行脚本之前,已经安装了paramiko库(可以使用`pip install paramiko`进行安装)。 这个示例代码会依次连接每台服务器,并在每台服务器上执行指定的命令。执行结果会打印到控制台上。 希望这能对您有所帮助!如果您有任何更多的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值