日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python基于模塊Paramiko實現SSHv2協議

瀏覽:26日期:2022-07-27 10:03:26

簡介:

ssh是一個協議,OpenSSH是其中一個開源實現,paramiko是Python的一個庫,實現了SSHv2協議(底層使用cryptography)。

有了Paramiko以后,我們就可以在Python代碼中直接使用SSH協議對遠程服務器執行操作,而不是通過ssh命令對遠程服務器進行操作。

由于paramiko屬于第三方庫,所以需要使用如下命令先行安裝 :pip install paramiko

paramiko包含兩個核心組件:SSHClient和SFTPClient。

SSHClient的作用類似于Linux的ssh命令,是對SSH會話的封裝,該類封裝了傳輸(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于執行遠程命令。

SFTPClient的作用類似與Linux的sftp命令,是對SFTP客戶端的封裝,用以實現遠程文件操作,如文件上傳、下載、修改文件權限等操作。

# Paramiko中的幾個基礎名詞:1、Channel:是一種類Socket,一種安全的SSH傳輸通道;2、Transport:是一種加密的會話,使用時會同步創建了一個加密的Tunnels(通道),這個Tunnels叫做Channel;3、Session:是client與Server保持連接的對象,用connect()/start_client()/start_server()開始會話。

SSHClient常用的方法介紹

connect():實現遠程服務器的連接與認證,對于該方法只有hostname是必傳參數。

常用參數

hostname 連接的目標主機port=SSH_PORT 指定端口username=None 驗證的用戶名password=None 驗證的用戶密碼pkey=None 私鑰方式用于身份驗證key_filename=None 一個文件名或文件列表,指定私鑰文件timeout=None 可選的tcp連接超時時間allow_agent=True, 是否允許連接到ssh代理,默認為True 允許look_for_keys=True 是否在~/.ssh中搜索私鑰文件,默認為True 允許compress=False, 是否打開壓縮

set_missing_host_key_policy():設置遠程服務器沒有在know_hosts文件中記錄時的應對策略。目前支持三種策略:

設置連接的遠程主機沒有本地主機密鑰或HostKeys對象時的策略,目前支持三種:

AutoAddPolicy 自動添加主機名及主機密鑰到本地HostKeys對象,不依賴load_system_host_key的配置。即新建立ssh連接時不需要再輸入yes或no進行確認

WarningPolicy 用于記錄一個未知的主機密鑰的python警告。并接受,功能上和AutoAddPolicy類似,但是會提示是新連接RejectPolicy 自動拒絕未知的主機名和密鑰,依賴load_system_host_key的配置。此為默認選項

exec_command():在遠程服務器執行Linux命令的方法。

open_sftp():在當前ssh會話的基礎上創建一個sftp會話。該方法會返回一個SFTPClient對象。

# 利用SSHClient對象的open_sftp()方法,可以直接返回一個基于當前連接的sftp對象,可以進行文件的上傳等操作.sftp = client.open_sftp()sftp.put(’test.txt’,’text.txt’)SSHClient常用的方法舉例

1.基于用戶名和密碼登入方式

import paramikoclass param(): def param_iko(self): #實例化SSHClient client = paramiko.SSHClient() #自動添加策略,保存服務器的主機名和密鑰信息,如果不添加,那么不再本地know_hosts文件中記錄的主機將無法連接 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #連接SSH服務端,以用戶名和密碼進行認證 client.connect(hostname=’192.168.1.200’, port=22, username=’root’, password=’a123’) #打開一個Channel并執行命令 stdin, stdout, stderr = client.exec_command(’df -h ’) #打印執行結果 print(stdout.read().decode(’utf-8’)) #關閉SSHClient client.close()if __name__==’__main__’: param().param_iko()

通過公鑰連接,前提是兩臺Linux可以互相連接

兩臺服務器需要ssh免秘鑰登入

import paramikoclass param_my(): def param_miyao(self): #配置私人密鑰文件位置 private = paramiko.RSAKey.from_private_key_file(’/root/.ssh/id_rsa’) #實例化SSHClient client = paramiko.SSHClient() #自動添加策略,保存服務器的主機名和密鑰信息,如果不添加,那么不再本地know_hosts文件中記錄的主機將無法連接 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #連接SSH服務端,以用戶名和密碼進行認證 client.connect(hostname=’192.168.1.250’,port=22,username=’root’,pkey=private) #打開一個Channel并執行命令 stdin, stdout, stderr = client.exec_command(’df -h ’) #打印執行結果 print(stdout.read().decode(’utf-8’)) #關閉SSHClient client.close()if __name__==’__main__’: param_my().param_miyao()[root@master test]# python3 a.py 文件系統容量 已用 可用 已用% 掛載點/dev/mapper/rhel-root 27G 21G 6.8G 75% /devtmpfs977M 0 977M 0% /devtmpfs 993M 0 993M 0% /dev/shmtmpfs 993M 9.1M 984M 1% /runtmpfs 993M 0 993M 0% /sys/fs/cgroup/dev/sr03.8G 3.8G 0 100% /mnt/cdrom/dev/sda1 1014M 161M 854M 16% /boottmpfs 199M 0 199M 0% /run/user/0tmpfs 199M 12K 199M 1% /run/user/42

跨服務器上傳和下載文件

import os,sysimport paramikoclass get_putclass(): def get_put(self): t = paramiko.Transport((’192.168.1.250’,22)) t.connect(username=’root’,password=’a123’) sftp = paramiko.SFTPClient.from_transport(t) #前面部分是192.168.1.250 遠程機器上的文件,后半部分是取到本地的路徑和文件名 sftp.get(’/root/file/test.txt’,’/home/python/tmp/test/test.txt’) #前面部分是本機器上的文件,后半部分是遠程機器上的文件路徑和文件名 sftp.put(’/home/python/tmp/test/a.py’,’/root/file/a.py’) t.close()if __name__==’__main__’: get_putclass().get_put()

通過秘鑰來上傳下載文件

import os,sysimport paramikoclass get_put_myao(): def get_put_miyao(self): pravie_key_path = ’/root/.ssh/id_rsa’ key = paramiko.RSAKey.from_private_key_file(pravie_key_path) t = paramiko.Transport((’192.168.1.250’,22)) t.connect(username=’root’,pkey=key) sftp = paramiko.SFTPClient.from_transport(t) sftp.put(’/home/python/tmp/test/b.py’,’/root/file/b.py’) sftp.get(’/root/file/test.txt’,’/home/python/tmp/test/test.txt’) t.close()if __name__==’__main__’: get_put_myao().get_put_miyao()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线精品小视频| 热久久久久久久| 老司机精品视频网| 在线日韩欧美| 精品视频91| 91国内精品| 亚洲欧美专区| 久久亚洲精精品中文字幕| 视频一区视频二区在线观看| 91看片一区| 国产成人精品福利| 国产情侣久久| 日韩动漫一区| 日韩在线一二三区| 日韩av不卡一区二区| 久久精品资源| 日本蜜桃在线观看视频| 精品五月天堂| 91av亚洲| 中文视频一区| 久久字幕精品一区| 久久久夜夜夜| 亚洲涩涩av| 欧美精品1区| 欧美日韩激情| 日韩激情av在线| 亚洲涩涩在线| 天堂久久av| 亚洲1234区| 国产欧美一区二区三区国产幕精品| 黑森林国产精品av| 日韩高清电影免费| 日韩国产在线| 欧美激情亚洲| 日韩免费精品| 成人日韩在线| 国产精品永久| 红桃视频国产精品| 国产精品一区二区三区www| 四虎4545www国产精品 | 免费久久99精品国产自在现线| 欧美日韩亚洲国产精品| 99xxxx成人网| 精品国产一区二区三区噜噜噜| 日韩午夜在线| 日韩欧美午夜| 精品国产18久久久久久二百| 国产欧美一区二区三区国产幕精品 | 不卡在线一区二区| 日本a级不卡| 久热精品在线| 红桃视频国产一区| 日韩不卡视频在线观看| 国产一区2区| 久久精品系列| 国产精品入口久久| 日韩精品亚洲一区二区三区免费| 日韩亚洲精品在线| 日韩视频在线一区二区三区| 精品国产第一福利网站| 久久久国产精品网站| 国产精品综合色区在线观看| 69堂免费精品视频在线播放| 中文字幕av一区二区三区四区| 美女av在线免费看| 久久麻豆视频| 老司机精品在线| 国产精品99在线观看| 电影亚洲精品噜噜在线观看| 偷拍精品精品一区二区三区| 成人免费电影网址| 欧美成人亚洲| 一区在线免费观看| 亚洲开心激情| 国产精品一区亚洲| 给我免费播放日韩视频| 蜜桃视频在线网站| 国产精品美女| 国产日产一区| 高清av一区| 亚洲一区二区网站| 日本不卡中文字幕| 久久中文在线| 亚洲电影在线一区二区三区| 亚洲色图网站| 精品国产91| 亚洲一区二区三区免费在线观看| 国产日韩一区| 国产高清一区| 欧美亚洲专区| 亚洲色诱最新| 国产精品成人**免费视频| 日韩在线短视频| 日韩精品免费视频人成| 国产精品香蕉| 久久一区二区三区电影| 亚洲精品自拍| 伊人网在线播放| 日韩欧美在线精品| 日韩精品一区二区三区免费观影 | 国产精品色网| 成人黄色av| 日韩精品一区二区三区免费视频| 色在线中文字幕| 日韩极品在线观看| 亚洲国产日韩欧美在线| 久久香蕉网站| 图片区亚洲欧美小说区| 国产乱人伦丫前精品视频| 午夜在线观看免费一区| 热三久草你在线| 国产精品66| 日本视频一区二区| 亚洲一区区二区| 日韩欧美少妇| 五月天av在线| 欧美黄色精品| 欧美一区自拍| 日韩午夜视频在线| 蜜臀av在线播放一区二区三区| 欧美日韩精品一区二区视频| 高清不卡亚洲| 国产精品v一区二区三区| 日本不卡中文字幕| 97精品资源在线观看| 亚洲精品麻豆| 男女性色大片免费观看一区二区| 欧美精品一区二区久久| 亚洲高清影视| 99热精品在线| 亚洲不卡视频| 日韩高清在线一区| 欧美一级全黄| 美日韩一区二区三区| 国产免费av国片精品草莓男男| 日本欧美一区| 欧美极品中文字幕| 国产精品欧美三级在线观看| 国产精品色婷婷在线观看| 国产精品久久久久久久免费软件 | 国产美女撒尿一区二区| 国产精品久一| 亚洲午夜天堂| 国产视频一区三区| 日韩av电影一区| 福利一区在线| 黄色成人91| 国产精品xvideos88| 在线天堂中文资源最新版| 91精品一区二区三区综合| 美女亚洲一区| 欧美一级一区| av资源亚洲| 亚洲精品国模| 成人va天堂| 天堂va在线高清一区| 国语精品一区| 老牛国产精品一区的观看方式| 欧美一区二区三区久久| 亚洲午夜黄色| 欧美影院视频| 午夜精品一区二区三区国产| 久久国产婷婷国产香蕉| 欧美综合另类| 久久成人福利| 精品欧美激情在线观看| 国产乱码精品一区二区三区亚洲人| 亚洲一区资源| 国产精品大片| 国产毛片久久| 国产在线看片免费视频在线观看| 蜜桃久久久久久| 欧美一区久久久| 国产精品theporn| 丝袜亚洲另类欧美| 成人自拍av| 日韩av在线播放网址| 欧美亚洲一级| 一区二区不卡| 在线国产一区| 日韩成人亚洲| 麻豆视频一区| 国产欧美一区二区色老头| 夜夜精品视频| 国产一区日韩一区| 久久久久亚洲| 国产99亚洲| 欧美色图一区| 丝袜av一区| 视频福利一区| 欧美 日韩 国产精品免费观看| 久久久久97| 成人在线观看免费视频| 国产精品777777在线播放| 青青青国产精品| 日韩高清欧美激情| 天堂va蜜桃一区二区三区| 亚洲欧美视频一区二区三区| 国产亚洲精品自拍| 老牛影视一区二区三区 |