免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      Python 模塊paramiko

      paramiko 模塊

      paramiko 是一個用 Python 語言編寫的、遵循 SSH2 協(xié)議、支持以加密和認證方式進行連接遠程服務(wù)器的模塊。改模塊可以對遠程服務(wù)器進行一些命令文件操作

      安裝

      使用 pip3 安裝 paramiko 模塊

      pip3 install paramiko

      常用函數(shù)

      SSHclient 類

      SSH 客戶端

      1.connect:遠程連接服務(wù)器

      # hostname:主機IP地址# port:ssh服務(wù)的端口號,默認為22# username和password:用戶名密碼# timeout 連接的超時時間connect(hostname, port=22, username=None, password=None, timeout=None,…)

      2.exec_command:遠程執(zhí)行命令

      # command:需要執(zhí)行的命令# timeout:連接超時設(shè)置exec_command(command, timeout=None,…)

      3.invoke_shell:生成交互的Shell

      # term:終端的類型# width,height:生成終端的寬度和高度# width_pixels,height_pixels:像素為單位的終端寬度和高度# environment:命令的環(huán)境invoke_shell(term=’vt100′, width=80, height=24, width_pixels=0, height_pixels=0, environment=None)

      4.open_sftp:打開 sftp

      open_sftp()

      Channel類

      SSH2 的抽象通道

      1.get_pty:打開一個終端

      # 從服務(wù)器請求一個終端,在創(chuàng)建連接通道之后立刻使用這個命令,要求服務(wù)器為 invoke_shell() 提供調(diào)用 shell 的終端語義get_pty(*args, **kwds)

      2.send(s)/sendall(s):發(fā)送命令

      # s:發(fā)送的命令,send(s)sendall(s)

      3.settimeout(timeout):設(shè)置超時時間

      settimeout(timeout)

      4.shutdown(how):關(guān)閉連接

      # how:0(停止接收),1(停止發(fā)送)或2(停止接收和發(fā)送)shutdown(how)

      SFTP Client類

      用 SFTP 的方式打開 SSH 連接,并遠程執(zhí)行文件操作,可用于上傳和下載文件。

      1.chmod:為文件賦予執(zhí)行權(quán)限

      # path:文件路徑# mode:執(zhí)行權(quán)限chmod(path, mode)

      2.close:關(guān)閉連接通道

      close()

      3.file/open:打開文件

      # filename:文件名# mode:文件的讀寫模式# bufsize:所需要的緩存大小file(filename, mode=’r’, bufsize=-1)open(filename, mode=’r’, bufsize=-1)

      4.get:下載文件

      # remotepath:遠程文件路徑# localpath:本地文件路徑# callback:文件下載完成后執(zhí)行的函數(shù)get(remotepath, localpath, callback=None)

      5.getcwd:當(dāng)前遠程文件路徑

      getcwd()

      6.listdir:文件列表

      # path:文件夾路徑listdir(path=’.’)

      7.mkdir:創(chuàng)建文件夾

      # path:文件夾路徑# mode:文件夾權(quán)限mkdir(path, mode=511)

      8.posix_rename/rename:重命名文件

      # oldpath:需要重命名的文件# newpath:新的文件路徑posix_rename(oldpath, newpath)rename(oldpath, newpath)

      9.put:上傳文件

      # localpath:本地文件路徑# remotepath:遠程文件路徑# callback:上傳完成后調(diào)用的函數(shù)# confirm:是否對文件確認大小put(localpath, remotepath, callback=None, confirm=True)

      10.remove/rmdir:刪除文件

      # path:文件路徑remove(path)rmdir(path)

      實例

      連接遠程服務(wù)器

      paramiko 模塊連接遠程服務(wù)器可以使用遠程服務(wù)器的用戶名、密碼登錄

      import paramiko# 創(chuàng)建一個SSHClient對象ssh = paramiko.SSHClient()# 將信任的主機加到 host_allow 列表ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 連接服務(wù)器ssh.connect(“服務(wù)器IP地址”, “服務(wù)器端口號”, “用戶名”, “密碼”)

      使用命令

      在登錄遠程服務(wù)器后,利用 paramiko 模塊可以使用 shell 命令操作遠程服務(wù)器,比如:df 命令、pwd 命令、cat 命令等等…

      # 打印磁盤情況# 執(zhí)行df命令,結(jié)果放到 dfout 中,如果有錯誤將放到 dferr 中dfout, dferr = ssh.exec_command(‘df’)print(dfout.read().decode(‘utf-8’))# 使用cd、cat命令查看文件內(nèi)容# paramiko.txt文件為/root/data/paramiko.txtcatin, catout,caterr = ssh.exec_command(‘cd data;cat paramiko.txt’)print(catin.read().decode(‘utf-8’))

      在 exec_command 函數(shù)中,exec_command 執(zhí)行的是單個會話,執(zhí)行完成后會回到登錄的缺省目錄,多個命令需要 命令1;命令2;命令3 的寫法

      sftp 上傳和下載文件

      import paramikotransport = paramiko.Transport((“服務(wù)器IP地址”,服務(wù)器端口號))transport.connect(username = “用戶名”, password = “密碼”)sftp = paramiko.SFTPClient.from_transport(transport)# 從遠程服務(wù)器下載文件# 遠程服務(wù)器文件路徑為/data/paramiko.txtsftp.get(‘/data/paramiko.txt’, ‘paramiko.txt’, print(“下載完成!”))# 從本地上傳文件到遠程服務(wù)器sftp.put(‘upload_paramiko.txt’, ‘/data/upload_paramiko.txt’, print(“上傳完成!”))

      服務(wù)器文件修改內(nèi)容

      sftp 對象可以在線修改遠程服務(wù)器上文件的內(nèi)容

      import paramiko# 登錄遠程服務(wù)器client = paramiko.SSHClient()client.set_missing_host_key_policy(paramiko.AutoAddPolicy())client.connect(“服務(wù)器IP地址”,,”服務(wù)器端口號”,”用戶名”, “密碼”, timeout=5)sftp = client.open_sftp()# 遠程服務(wù)器文件地址為/data/paramiko.txtremoteFile = sftp.open(“/data/paramiko.txt”, ‘a’)remoteFile.write(“”);remoteFile.write(“這里是追加的內(nèi)容!”);remoteFile.close()sftp.close()

      查詢文件

      使用 sftp 對象獲取遠程服務(wù)器上的文件列表

      import paramikoclient = paramiko.SSHClient()client.set_missing_host_key_policy(paramiko.AutoAddPolicy())client.connect(“服務(wù)器IP地址”,,”服務(wù)器端口號”,”用戶名”, “密碼”, timeout=5)sftp = client.open_sftp()for fileName in sftp.listdir(“/root/data”): if fileName.endswith(“.txt”): print(fileName)sftp.close()

      在 Linux 模擬終端

      import paramikoimport selectimport sysimport ttyimport termios# 創(chuàng)建一個安全的通道trans = paramiko.Transport((‘IP地址’, 22))# 啟動一個客戶端trans.start_client()# 如果使用用戶名和密碼登錄trans.auth_password(username=’用戶名’, password=’密碼’)# 打開一個通道channel = trans.open_session()# 獲取一個終端channel.get_pty()# 激活終端channel.invoke_shell()# 獲取Linux操作終端的屬性oldtty = termios.tcgetattr(sys.stdin)try: # 將Linux操作終端的屬性設(shè)置為 SSH 服務(wù)器的終端屬性,并使用 TAB 鍵 tty.setraw(sys.stdin) channel.settimeout(0) while True: read_list, write_list, err_list = select.select([channel, sys.stdin,], [], []) # 輸入命令,sys.stdin會發(fā)生變化 if sys.stdin in read_list: # 獲取輸入的內(nèi)容 input_cmd = sys.stdin.read(1) # 將命令發(fā)送給服務(wù)器 channel.sendall(input_cmd) # SSH服務(wù)器返回結(jié)果 if channel in read_list: result = channel.recv(1024) # 斷開連接后退出 if len(result) == 0: print(“連接斷開了!”) break sys.stdout.write(result.decode()) sys.stdout.flush()finally: # 還原Linux終端屬性 termios.tcsetattr(sys.stdin, termios.TCSADRAIN, oldtty)channel.close()trans.close()

      結(jié)語

      以上是 paramiko 模塊的基本操作,學(xué)會以上內(nèi)容后在多個遠程服務(wù)器的情況下,可以快速、便捷的操作服務(wù)器內(nèi)容

      鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
      用戶投稿
      上一篇 2022年7月4日 12:21
      下一篇 2022年7月4日 12:22

      相關(guān)推薦

      • cad連續(xù)標注快捷鍵(cad連續(xù)標注快捷鍵)

        本文主要講的是cad連續(xù)標注快捷鍵,以及和cad連續(xù)標注快捷鍵相關(guān)的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 cad中連續(xù)標注快捷鍵 CAD尺寸標準快捷命令:DL…

        2022年11月27日
      • 2022全球最常用密碼名單:password成全球最常用密碼

        11月24日消息,據(jù)IT之家報道,密碼管理工具NordPass現(xiàn)已發(fā)布2022年全球最常用的密碼名單,結(jié)果顯示用戶仍在使用眾所周知的弱密碼。統(tǒng)計數(shù)據(jù)顯示,今年全球最常見的密碼是“p…

        2022年11月25日
      • 淘寶直播開通后帶貨鏈接怎么做(淘寶直播需要開通淘寶店鋪嗎)

        直播帶貨無論是對于商家來說還是主播收益都是非??捎^的,所以不少平臺都有直播帶貨功能,一些小伙伴也想加入淘寶直播,那么淘寶直播開通后帶貨鏈接怎么做?下面小編為大家?guī)硖詫氈辈ラ_通后帶…

        2022年11月24日
      • 科比19歲女兒遭自稱與她生“科比式孩子”男子跟蹤騷擾

        極目新聞記者王亮亮黃佳琪 據(jù)福克斯新聞網(wǎng)報道,當(dāng)?shù)貢r間11月21日,已故籃球巨星科比·布萊恩特的長女娜塔莉亞·布萊恩特21日向法院提交臨時限制令,聲稱這位32歲的前科從十幾歲起就騷…

        2022年11月24日
      • 免費清理c盤的軟件(清理c盤空間不影響系統(tǒng))

        電腦用久了慢如龜速,還卡頓,這最大的原因啊就是C盤空間不足造成的。 即使電腦配置再好,或者硬盤再快,如果長時間沒有打掃C盤,打開文件或者穩(wěn)定之類的,都卡得讓人頭大。 這時候呢不要去…

        2022年11月24日
      • pdf虛擬打印機(添加pdf虛擬打印機)

        本文主要講的是pdf虛擬打印機,以及和添加pdf虛擬打印機相關(guān)的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 pdf虛擬打印機具體是什么功能? 電腦虛擬打印機的功能有…

        2022年11月24日
      • 廣州花都嶺南批發(fā)地女裝在哪拿貨好(廣州花都嶺南批發(fā)地女裝)

        廣州的服裝批發(fā)市場人氣一直也都挺高的,不過很多商家第一次來廣州進貨,對于一些女裝貨源批發(fā)還不是很了解。廣州花都嶺南批發(fā)地女裝在哪拿貨好?現(xiàn)在廣州服裝貨源批發(fā)哪里最便宜呢?今天小編整…

        2022年11月23日
      • 大疆發(fā)布DJI O3 Air Unit圖傳解決方案 售價1499元

        大疆日前發(fā)布了最新的DJI O3 Air Unit 數(shù)字圖傳解決方案,該方案將DJI O3+ 圖傳與1/1.7 英寸影像傳感器相機模塊集于一身,具有高畫質(zhì)、低延時、遠距離等特點。 …

        2022年11月23日
      • 快手限流多久能解除(快手限流什么意思)

        我相信很多人都看中了快手平臺的商機,都爭先恐后地想要搶占機會,可一些人剛剛作出一點成績,就被降權(quán)了,自己也不知道什么原因。所以今天就來聊聊快手賬號降權(quán)操作分享,趕快來看看避免違規(guī)!…

        2022年11月23日
      • Win11 22H2再出新問題Bug:無法彈出USB設(shè)備

        作為Windows 11的首次大更新,在Win11 22H2發(fā)布后并沒有帶來預(yù)想的場景,各種問題頻現(xiàn)成為了一種常態(tài)。 近日有消息稱,Win11 22H2存在一個占用沖突Bug,當(dāng)用…

        2022年11月22日

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時間:周一至周五,10:30-18:30,節(jié)假日休息