python paramiko 向linux執行命令和發送接收文件


發送命令

# -*- coding: utf-8 -*-

import  paramiko
'''
paramiko 模塊可以用了向linux執行命令和發送接收文件
'''


#創建SSH 對象
ssh = paramiko.SSHClient()

#允許連接不在know_hosts文件的主機
ssh.set_missing_host_key_policy(paramiko.AutoAddpolicy)

#連接服務器
ssh.connect(hostname='16.17.101.33',port=22,username='root',password = '123')

#執行命令
stdin,stdout,stderr = ssh.exec_commadn('ls')

#獲取命令結果
res = stdout.read()


#關閉連接
ssh.close()

 

發送文件:

# -*- coding: utf-8 -*-

import  paramiko

tran  = paramiko.transport(('hostname',22))
tran.connect(username='root',password='123')
sftp = paramiko.SFTPClient.from_transport(tran)
#將test.py 上傳至 /tmp/test_new.py
sftp.put('/tmp/test.py','/tmp/test_new.py')


#將遠程文件下載到本地
sftp.get('遠程文件路徑','本地路徑')
tran.close()

 

 

 

使用秘鑰登錄:

# -*- coding: utf-8 -*-

'''
使用公鑰的方式進行用戶登錄
'''

import paramiko

#這個路徑是一個本地存儲公鑰的路徑
private_key = paramiko.RSAKey.from_private_key_file('/home/root/.ssh/id_rsa')

#創建SSH 對象
ssh = paramiko.SSHClient()

#允許連接不在know_hosts 文件的主機
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

#連接服務器
ssh.connect(hostname='16.17.101.33',port=22,username='root',pkey = private_key)

#執行命令
stdin,stdout,stderr = ssh.exec_commadn('ls')

#獲取命令結果
res = stdout.read()


#關閉連接
ssh.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM