主页 > 知识库 > Python使用paramiko连接远程服务器执行Shell命令的实现

Python使用paramiko连接远程服务器执行Shell命令的实现

热门标签:北京外呼电销机器人招商 汕头电商外呼系统供应商 郑州智能外呼系统中心 400电话 申请 条件 云南地图标注 crm电销机器人 宾馆能在百度地图标注吗 电销机器人 金伦通信 南京crm外呼系统排名

需求

自动化测试场景里, 有时需要在代码里获取远程服务器的某些数据, 或执行一些查询命令,如获取Linux系统版本号 \ 获取CPU及内存的占用等, 本章记录一下使用paramiko模块SSH连接服务器的方法

1. 先安装paramiko库

pip3 install paramiko

2. 代码

#!/usr/bin/env python
# coding=utf-8

"""
# :author: Terry Li
# :url: https://blog.csdn.net/qq_42183962
# :copyright: © 2020-present Terry Li
# :motto: I believe that the God rewards the diligent.
"""
import paramiko

class cfg:
	host = "192.168.2.2"
	user = "root"
	password = "123456"


class sshChannel:
	def __init__(self, cfg_obj, timeout_s=5, port=22):
		self._cfg = cfg_obj
		self.ssh_connect_timeout = timeout_s
		self.port = port
		self.ssh = self.connect_server()

	def connect_server(self):
		ssh_cli = paramiko.SSHClient()
		key = paramiko.AutoAddPolicy()
		ssh_cli.set_missing_host_key_policy(key)
		try:
			ssh_cli.connect(self._cfg.host, port=self.port, username=self._cfg.user, password=self._cfg.password,
							timeout=self.ssh_connect_timeout)
		except paramiko.ssh_exception.SSHException:
			print("连接{}失败, 请检查配置或重试".format(self._cfg.host))
			ssh_cli.close()
		return ssh_cli

	def execute_cmd(self, cmd):
		"""
		:param cmd: 单个命令
		:return: 服务器的输出信息
		"""
		stdin, stdout, stderr = self.ssh.exec_command(cmd)
		self.ssh.close()
		return stdout.read().decode('utf-8')

	def execute_cmd_list(self, cmd_list):
		"""
		:param cmd: 命令列表
		:return: 服务器的输出信息的列表
		"""
		out_list = list(map(self.execute_cmd, cmd_list))
		return out_list

	def test_get_sys_version(self):
		sys_version = self.execute_cmd("lsb_release -rd")
		print(sys_version)

	def test_get_sys_disk_free_and_memory_free(self):
		sys_info = self.execute_cmd_list(["df -h -BG /", "free -m"])
		print(sys_info)
		
if __name__ == '__main__':
	server = sshChannel(cfg)
	server.test_get_sys_version()
	server.test_get_sys_disk_free_and_memory_free()

到此这篇关于Python使用paramiko连接远程服务器执行Shell命令的实现的文章就介绍到这了,更多相关Python使用paramiko连接远程服务器执行Shell命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • python 第三方库paramiko的常用方式
  • Python如何实现Paramiko的二次封装
  • python 使用paramiko模块进行封装,远程操作linux主机的示例代码
  • python利用paramiko实现交换机巡检的示例
  • 解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
  • python使用paramiko实现ssh的功能详解
  • python中使用paramiko模块并实现远程连接服务器执行上传下载功能
  • 浅谈python之自动化运维(Paramiko)
  • python基于paramiko库远程执行 SSH 命令,实现 sftp 下载文件

标签:文山 锡林郭勒盟 怀化 昆明 浙江 西宁 石家庄 梅州

巨人网络通讯声明:本文标题《Python使用paramiko连接远程服务器执行Shell命令的实现》,本文关键词  Python,使用,paramiko,连接,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Python使用paramiko连接远程服务器执行Shell命令的实现》相关的同类信息!
  • 本页收集关于Python使用paramiko连接远程服务器执行Shell命令的实现的相关信息资讯供网民参考!
  • 推荐文章