日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python paramiko模块

發布時間:2025/3/20 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python paramiko模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

paramiko模塊

1. 介紹:

paramiko是一個用于做遠程控制的模塊,使用該模塊可以對遠程服務器進行命令或文件操作,值得一說的是,fabric和ansible內部的遠程管理就是使用的paramiko來現實。

2. 下載安裝

pip3 install paramiko #在python3中

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' pycrypto,由于 paramiko 模塊內部依賴pycrypto,所以先下載安裝pycrypto #在python2中 pip3 install pycrypto pip3 install paramiko 注:如果在安裝pycrypto2.0.1時發生如下錯誤command 'gcc' failed with exit status 1... 可能是缺少python-dev安裝包導致 如果gcc沒有安裝,請事先安裝gcc

3. 使用

SSHClient

用于連接遠程服務器并執行基本命令

基于用戶名密碼連接:

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import paramiko# 創建SSH對象 ssh = paramiko.SSHClient() # 允許連接不在know_hosts文件中的主機 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 連接服務器 ssh.connect(hostname='120.92.84.249', port=22, username='root', password='xxx')# 執行命令 stdin, stdout, stderr = ssh.exec_command('df') # 獲取命令結果 result = stdout.read() print(result.decode('utf-8')) # 關閉連接 ssh.close() ''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import paramikotransport = paramiko.Transport(('120.92.84.249', 22)) transport.connect(username='root', password='xxx')ssh = paramiko.SSHClient() ssh._transport = transportstdin, stdout, stderr = ssh.exec_command('df') res=stdout.read() print(res.decode('utf-8'))transport.close()

基于公鑰密鑰連接:

客戶端文件名:id_rsa

**服務端必須有文件名:**authorized_keys(在用ssh-keygen時,必須制作一個authorized_keys,可以用ssh-copy-id來制作)

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import paramikoprivate_key = paramiko.RSAKey.from_private_key_file('/tmp/id_rsa')# 創建SSH對象 ssh = paramiko.SSHClient() # 允許連接不在know_hosts文件中的主機 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 連接服務器 ssh.connect(hostname='120.92.84.249', port=22, username='root', pkey=private_key)# 執行命令 stdin, stdout, stderr = ssh.exec_command('df') # 獲取命令結果 result = stdout.read() print(result.decode('utf-8')) # 關閉連接 ssh.close() ''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import paramikoprivate_key = paramiko.RSAKey.from_private_key_file('/tmp/id_rsa')transport = paramiko.Transport(('120.92.84.249', 22)) transport.connect(username='root', pkey=private_key)ssh = paramiko.SSHClient() ssh._transport = transportstdin, stdout, stderr = ssh.exec_command('df') result=stdout.read() print(result.decode('utf-8'))transport.close() ''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import paramiko from io import StringIOkey_str = """-----BEGIN RSA PRIVATE KEY----- MIIEoQIBAAKCAQEAsJmFLrSeCumJvga0Gl5O5wVOVwMIy2MpqIyQPi5J87dg89a4 Da9fczJog7qoSbRwHFOQoCHNphSlp5KPhGsF6RJewkIw9H1UKV4dCOyl/4HOAkAD rKrsEDmrJ9JlzF2GTTZSnTgVQWcvBS2RKB4eM2R9aJ11xV6X2Hk4YDLTExIWeabb h2TUKw0iyjI8pRuYLKkF2X16u9TBwfOTroGYgiNFHQvhsQppbEbI49NF2XkCkFMi 8/7tLjf95InE/VUUq56JqfzyHwdpHou+waXbwtvGgXN3sz+KkuEv6R2qDz06upZV FCZRRpDhzoR8Uh/UEzTGZb8z7FB6EJXUiXJikQIBIwKCAQBBmBuGYFf1bK+BGG7H 9ySe81ecqVsJtx4aCFLVRGScWg4RbQKIvXs5an6XU/VdNGQnx0RYvBkvDvuzRRC8 J8Bd4kB0CfTtGJuaVigKoQp02HEWx1HSa17+tlWD0c4KFBvwywi+DYQ83S64x8gz eOalX9bPFenqORPUD8R7gJeKvPVc6ZTPeorpuH7u9xayP0Eop8qKxZza9Xh3foVj Qo4IxoYnDN57CIRX5PFSlDDggpmr8FtRF4nAxmFq8LhSp05ivzX/Ku1SNHdaMWZO 7va8tISXdLI5m0EGzoVoBvohIbwlxI6kfmamrh6Eas2Jnsc4CLzMsR4jBWt0LHLv /SLnAoGBANaEUf/Jptab9G/xD9W2tw/636i3gLpTPY9KPtCcAxqStNeT6RAWZ5HF lKJg+NKpu3pI45ldAwvts0i+aCZk2xakEWIZWqCmXm31JSPDQTaMGe7H0vOmUaxx ncdpBVdvhMbfFUgei15iKfuafgrKaS9oIkntXEgrC+3wBOI0Gbx3AoGBANLAGxAF TK7ydr+Q1+6/ujs6e8WsXt8HZMa/1khCVSbrf1MgACvZPSSSrDpVwaDTSjlRI4AL bb0l0RFU+/0caMiHilscuJdz9Fdd9Ux4pjROZa3TF5CFhvP7PsZAoxOo+yqJg4zr 996GG/aAv4M8lQJ2rDFk/Dgn5y/AaAun1oM3AoGAGIQmoOPYjY4qkHNSRE9lYOl4 pZFQilKn8x5tlC8WTC4GCgJGhX7nQ9wQ/J1eQ/YkDfmznH+ok6YjHkGlgLsRuXHW GdcDCwuzBUCWh76LHC1EytUCKnloa3qy8jfjWnMlHgrd3FtDILrC+C7p1Vj2FAvm qVz0moiTpioPL8twp9MCgYEAin49q3EyZFYwxwdpU7/SJuvq750oZq0WVriUINsi A6IR14oOvbqkhb94fhsY12ZGt/N9uosq22H+anms6CicoQicv4fnBHDFI3hCHE9I pgeh50GTJHUA6Xk34V2s/kp5KpThazv6qCw+QubkQExh660SEdSlvoCfPKMCi1EJ TukCgYAZKY1NZ2bjJyyO/dfNvMQ+etUL/9esi+40GUGyJ7SZcazrN9z+DO0yL39g 7FT9NMIc2dsmNJQMaGBCDl0AjO1O3b/wqlrNvNBGkanxn2Htn5ajfo+LBU7yHAcV 7w4X5HLarXiE1mj0LXFKJhdvFqU53KUQJXBqR6lsMqzsdPwLMJg== -----END RSA PRIVATE KEY-----"""private_key = paramiko.RSAKey(file_obj=StringIO(key_str)) transport = paramiko.Transport(('120.92.84.249', 22)) transport.connect(username='root', pkey=private_key)ssh = paramiko.SSHClient() ssh._transport = transportstdin, stdout, stderr = ssh.exec_command('df') result = stdout.read() print(result.decode('utf-8')) transport.close()print(result)

SFTPClient

用于連接遠程服務器并執行上傳下載

基于用戶名密碼上傳下載

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import paramikotransport = paramiko.Transport(('120.92.84.249',22)) transport.connect(username='root',password='xxx')sftp = paramiko.SFTPClient.from_transport(transport) # 將location.py 上傳至服務器 /tmp/test.py sftp.put('/tmp/id_rsa', '/etc/test.rsa') # 將remove_path 下載到本地 local_path sftp.get('remove_path', 'local_path')transport.close()

基于公鑰密鑰上傳下載

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import paramikoprivate_key = paramiko.RSAKey.from_private_key_file('/tmp/id_rsa')transport = paramiko.Transport(('120.92.84.249', 22)) transport.connect(username='root', pkey=private_key )sftp = paramiko.SFTPClient.from_transport(transport) # 將location.py 上傳至服務器 /tmp/test.py sftp.put('/tmp/id_rsa', '/tmp/a.txt') # 將remove_path 下載到本地 local_path sftp.get('remove_path', 'local_path')transport.close() #!/usr/bin/env python # -*- coding:utf-8 -*- import paramiko import uuidclass Haproxy(object):def __init__(self):self.host = '172.16.103.191'self.port = 22self.username = 'root'self.pwd = '123'self.__k = Nonedef create_file(self):file_name = str(uuid.uuid4())with open(file_name,'w') as f:f.write('sb')return file_namedef run(self):self.connect()self.upload()self.rename()self.close()def connect(self):transport = paramiko.Transport((self.host,self.port))transport.connect(username=self.username,password=self.pwd)self.__transport = transportdef close(self):self.__transport.close()def upload(self):# 連接,上傳file_name = self.create_file()sftp = paramiko.SFTPClient.from_transport(self.__transport)# 將location.py 上傳至服務器 /tmp/test.pysftp.put(file_name, '/home/root/tttttttttttt.py')def rename(self):ssh = paramiko.SSHClient()ssh._transport = self.__transport# 執行命令stdin, stdout, stderr = ssh.exec_command('mv /home/root/tttttttttttt.py /home/root/ooooooooo.py')# 獲取命令結果result = stdout.read()ha = Haproxy() ha.run() 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python paramiko模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费中文字幕日韩 | 国产成人精品久久久 | 尤物毛片| 日韩亚洲欧美一区二区 | 在线观看国产欧美 | 污色视频 | 国产精品99久久久 | 亚洲AV成人无码久久精品巨臀 | 国产精品hd | 国产午夜精品一区二区三区嫩草 | 视频黄页在线观看 | 午夜视频日韩 | 激情视频一区二区三区 | 波多野结衣在线观看一区 | 涩涩视频网站在线观看 | 亚洲伦理影院 | 成人综合久久 | 女同性做受全过程动图 | 欧美精品自拍视频 | 男女日批在线观看 | 色窝窝无码一区二区三区 | 在线看片你懂 | 亚洲欧美国产高清va在线播放 | 国产偷拍一区二区 | 人人插人人射 | 性色视频在线观看 | 日日草视频 | xxxxx色 | 欧美一区二区三区影院 | 天天射天天干天天操 | 免费一级a毛片 | 日本在线免费播放 | 福利在线视频导航 | 日本免费高清一区二区 | 国产成人精品无码播放 | 海角官网| 久久久久久国产精品无码 | 亚洲系列第一页 | 性开放耄耋老妇hd | www.亚洲一区 | 名校风暴在线观看免费高清完整 | 黄网在线观看视频 | 国产精品高潮视频 | 久久精品国产精品 | 欧美极品少妇xxxxⅹ裸体艺术 | 就去色av| gav在线| 亚洲国产精品视频一区二区 | 天堂一区在线观看 | 国产成人精品综合在线观看 | 久久都是精品 | 久久久国产一区 | 精品亚洲在线 | 精品欧美一区二区精品少妇 | 超碰成人av | 国产热| 亚洲色图偷拍视频 | 91操视频| 国产自偷 | 国产一区二区播放 | 色天堂影院 | 日本韩国欧美中文字幕 | 欧美极品一区 | 欧美人妻精品一区二区三区 | 黄色三级带 | 丹丹的呻吟声1一7 | 日韩视频三区 | 人人爽av| 日韩av一区二区三区 | 91精品人妻互换一区二区 | 欧美日韩精品在线播放 | 精品免费国产一区二区三区 | 打屁股疼的撕心裂肺的视频 | 国产精品一卡二卡三卡 | 欧美精品久久久久久久久 | 国产第一页第二页 | 国产精品无码久久久久成人app | 天天操天天插天天射 | 无码人妻精品一区二区蜜桃色欲 | 国产一区亚洲二区 | 久艹在线观看 | 五月天校园春色 | 在线日韩成人 | 在线色站 | 夫妻性生活黄色片 | 性色av无码久久一区二区三区 | 综合天天色 | 日韩在线视频在线观看 | 校霸被c到爽夹震蛋上课高潮 | 午夜久久剧场 | 成人精品区 | 黄色一级大片免费版 | 操极品 | 国内av网站| brazzers猛女系列 | 在线免费播放 | 久综合 | 2021天天干 | 9999视频 |