python版本: python3.7.4
Demo:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
################################################
#author: SkyJ
#date : 2019/7/17
################################################
import os
import sys
import string
import datetime
import time
import paramiko #導入paramiko
hostname = "192.168.1.11"
username = "root"
password = "SkyJ"
cmdList = ['ls -l\n', 'df -h\n']
#第一種ssh連接執行指令方式
def sshRunCmd(hostname, username, password, cmdList):
try:
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#創建ssh連接
client.connect(hostname=hostname, port=22, username=username, password=password)
# 開啟ssh管道
ssh = client.get_transport().open_session()
ssh.get_pty()
ssh.invoke_shell()
#執行指令
for cmd in cmdList:
ssh.sendall(cmd)
time.sleep(0.5)
result = ssh.recv(102400)
result = result.decode(encoding='UTF-8',errors='strict')
print (result)
except Exception as e:
print ("[%s] %s target failed, the reason is %s" % (datetime.datetime.now(), hostname, str(e)))
else:
print ("[%s] %s target success" % (datetime.datetime.now(), hostname))
finally:
ssh.close()
client.close()
#第二種ssh連接執行指令方式
def sshRunCmd2(hostname, username, password, cmdList):
try:
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#創建ssh連接
client.connect(hostname=hostname, port=22, username=username, password=password)
#執行指令
for cmd in cmdList:
stdin, stdout, stderr = client.exec_command(cmd)
result = stdout.read()
result = result.decode(encoding='UTF-8',errors='strict')
print (result)
except Exception as e:
print ("[%s] %s target failed, the reason is %s" % (datetime.datetime.now(), hostname, str(e)))
else:
print ("[%s] %s target success" % (datetime.datetime.now(), hostname))
finally:
client.close()
if __name__ == '__main__':
sshRunCmd(hostname, username, password, cmdList)
sshRunCmd2(hostname, username, password, cmdList)
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
