主頁 > 知識庫 > Python使用paramiko連接遠程服務器執(zhí)行Shell命令的實現(xiàn)

Python使用paramiko連接遠程服務器執(zhí)行Shell命令的實現(xiàn)

熱門標簽:北京外呼電銷機器人招商 汕頭電商外呼系統(tǒng)供應商 鄭州智能外呼系統(tǒng)中心 400電話 申請 條件 云南地圖標注 crm電銷機器人 賓館能在百度地圖標注嗎 電銷機器人 金倫通信 南京crm外呼系統(tǒng)排名

需求

自動化測試場景里, 有時需要在代碼里獲取遠程服務器的某些數據, 或執(zhí)行一些查詢命令,如獲取Linux系統(tǒng)版本號 \ 獲取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連接遠程服務器執(zhí)行Shell命令的實現(xiàn)的文章就介紹到這了,更多相關Python使用paramiko連接遠程服務器執(zhí)行Shell命令內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python 第三方庫paramiko的常用方式
  • Python如何實現(xiàn)Paramiko的二次封裝
  • python 使用paramiko模塊進行封裝,遠程操作linux主機的示例代碼
  • python利用paramiko實現(xiàn)交換機巡檢的示例
  • 解決Python paramiko 模塊遠程執(zhí)行ssh 命令 nohup 不生效的問題
  • python使用paramiko實現(xiàn)ssh的功能詳解
  • python中使用paramiko模塊并實現(xiàn)遠程連接服務器執(zhí)行上傳下載功能
  • 淺談python之自動化運維(Paramiko)
  • python基于paramiko庫遠程執(zhí)行 SSH 命令,實現(xiàn) sftp 下載文件

標簽:文山 錫林郭勒盟 懷化 昆明 浙江 西寧 石家莊 梅州

巨人網絡通訊聲明:本文標題《Python使用paramiko連接遠程服務器執(zhí)行Shell命令的實現(xiàn)》,本文關鍵詞  Python,使用,paramiko,連接,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python使用paramiko連接遠程服務器執(zhí)行Shell命令的實現(xiàn)》相關的同類信息!
  • 本頁收集關于Python使用paramiko連接遠程服務器執(zhí)行Shell命令的實現(xiàn)的相關信息資訊供網民參考!
  • 推薦文章