欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年03月04日 11:25:58   作者:木法星人  
這篇文章主要介紹了Python使用paramiko連接遠(yuǎn)程服務(wù)器執(zhí)行Shell命令的實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

需求

自動化測試場景里, 有時需要在代碼里獲取遠(yuǎn)程服務(wù)器的某些數(shù)據(jù), 或執(zhí)行一些查詢命令,如獲取Linux系統(tǒng)版本號 \ 獲取CPU及內(nèi)存的占用等, 本章記錄一下使用paramiko模塊SSH連接服務(wù)器的方法

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: 服務(wù)器的輸出信息
		"""
		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: 服務(wù)器的輸出信息的列表
		"""
		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()

到此這篇關(guān)于Python使用paramiko連接遠(yuǎn)程服務(wù)器執(zhí)行Shell命令的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python使用paramiko連接遠(yuǎn)程服務(wù)器執(zhí)行Shell命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python facenet進(jìn)行人臉識別測試過程解析

    Python facenet進(jìn)行人臉識別測試過程解析

    這篇文章主要介紹了Python facenet進(jìn)行人臉識別測試過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python文件如何引入?詳解引入Python文件步驟

    Python文件如何引入?詳解引入Python文件步驟

    我們整理了一篇關(guān)于引入Python文件的一個基礎(chǔ)知識點(diǎn)內(nèi)容,如果你是一個python的學(xué)習(xí)者,參考一下吧。
    2018-12-12
  • Python函數(shù)基本使用原理詳解

    Python函數(shù)基本使用原理詳解

    這篇文章主要介紹了Python函數(shù)基本使用原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python實(shí)現(xiàn)音樂播放器 python實(shí)現(xiàn)花框音樂盒子

    python實(shí)現(xiàn)音樂播放器 python實(shí)現(xiàn)花框音樂盒子

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)音樂播放器,實(shí)現(xiàn)花框音樂盒子,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Python應(yīng)用實(shí)現(xiàn)雙指數(shù)函數(shù)及擬合代碼實(shí)例

    Python應(yīng)用實(shí)現(xiàn)雙指數(shù)函數(shù)及擬合代碼實(shí)例

    這篇文章主要介紹了Python應(yīng)用實(shí)現(xiàn)雙指數(shù)函數(shù)及擬合代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 如何將python項(xiàng)目部署在一臺服務(wù)器上

    如何將python項(xiàng)目部署在一臺服務(wù)器上

    服務(wù)器less技術(shù)是一種無需管理服務(wù)器即可運(yùn)行應(yīng)用程序的方法,最流行的服務(wù)器less平臺是AWS Lambda,這篇文章主要介紹了如何將python項(xiàng)目部署在一臺服務(wù)器上,需要的朋友可以參考下
    2023-10-10
  • python中sys模塊是做什么用的

    python中sys模塊是做什么用的

    在本篇文章里小編給大家分享了一篇關(guān)于python中sys模塊的用法及相關(guān)基礎(chǔ)知識點(diǎn),有興趣的朋友們可以參考下。
    2020-08-08
  • python代碼中的縮進(jìn)規(guī)則詳細(xì)解釋(史上最全)

    python代碼中的縮進(jìn)規(guī)則詳細(xì)解釋(史上最全)

    這篇文章主要介紹了代碼縮進(jìn)的重要性以及在Python語言中的具體規(guī)則,代碼縮進(jìn)有助于提高代碼的可讀性和整潔性,并且是Python語言中一個強(qiáng)制性的語法要求,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • python常見進(jìn)制轉(zhuǎn)換方法示例代碼

    python常見進(jìn)制轉(zhuǎn)換方法示例代碼

    Python為我們提供了強(qiáng)大的內(nèi)置函數(shù)和格式化數(shù)字的方法去實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換的功能,下面這篇文章主要給大家介紹了關(guān)于python常見進(jìn)制轉(zhuǎn)換方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Python計(jì)算素?cái)?shù)個數(shù)的兩種方法

    Python計(jì)算素?cái)?shù)個數(shù)的兩種方法

    本文主要介紹了Python計(jì)算素?cái)?shù)個數(shù)的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評論