真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何遠(yuǎn)程執(zhí)行Linux腳本和命令

小編給大家分享一下如何遠(yuǎn)程執(zhí)行Linux腳本和命令,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

站在用戶的角度思考問題,與客戶深入溝通,找到澧縣網(wǎng)站設(shè)計與澧縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋澧縣地區(qū)。

對于 paramiko 安裝直接 pip 或者 PyCharm 這里就不多說了,如果看到這里你覺得自己不怎么了解python語法的也不必?fù)?dān)心,你完全可以用  paramiko 單純的執(zhí)行 Shell 命令查看結(jié)果和上傳下載文件,省去重復(fù)的工作。

paramiko 實現(xiàn)了 SSHv2 協(xié)議(底層使用 cryptography ),包含兩個核心組件:SSHClient 和 SFTPClient 。  SSHClient 是對 SSH 會話的封裝,用于執(zhí)行遠(yuǎn)程命令,SFTPClient 是對 SFTP 客戶端的封裝,用以實現(xiàn)遠(yuǎn)程文件操作。

這里先舉兩個列子你應(yīng)該就明白怎么用了,終于開始正片了。

SSHClient 的列子:

# -*- coding: utf-8 -*- import paramiko client = paramiko.SSHClient()# 實例化SSHClient client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 自動添加策略,保存服務(wù)器的主機名和密鑰信息,如果不添加,那么不再本地know_hosts文件中記錄的主機將無法連接  client.connect(hostname='192.168.23.134', port=22, username='ftoz', password='123456')# 連接SSH服務(wù)端,以用戶名和密碼進(jìn)行認(rèn)證  # 打開一個Channel并執(zhí)行命令 stdin, stdout, stderr = client.exec_command('ls')  # stdout 為正確輸出,stderr為錯誤輸出,同時是有1個變量有值  # 打印執(zhí)行結(jié)果 print(stdout.read().decode('utf-8'))  # 關(guān)閉SSHClient client.close()

輸出:

如何遠(yuǎn)程執(zhí)行Linux腳本和命令

這里說明一下:

client = paramiko.SSHClient(), client.set_missing_host_key_policy(paramiko.AutoAddPolicy())你可以理解為固定姿勢。 client.connect(hostname='192.168.1.105', port=22, username='ftoz',password='123456')這里就是你的linux變量依次為地址、端口(總共65535個端口,不過ssh默認(rèn)是22端口)、登錄名、密碼。 stdin, stdout, stderr = client.exec_command('df -h ') 這里就是核心你需要做的shell命令,這三個變量不用按照這種姿勢,你可以隨意,不過按照順序你知道里面裝的什么數(shù)據(jù)就行(重點在輸出和錯誤)。  connect():這個是實現(xiàn)遠(yuǎn)程服務(wù)器連接和認(rèn)證的,參數(shù)有: hostname 連接的目標(biāo)主機 port=SSH_PORT 指定端口 username=None 驗證的用戶名 password=None 驗證的用戶密碼 pkey=None 私鑰方式用于身份驗證 key_filename=None 一個文件名或文件列表,指定私鑰文件 timeout=None 可選的tcp連接超時時間 allow_agent=True, 是否允許連接到ssh代理,默認(rèn)為True 允許 look_for_keys=True 是否在~/.ssh中搜索私鑰文件,默認(rèn)為True 允許 compress=False, 是否打開壓縮。  set_missing_host_key_policy():這個是設(shè)置遠(yuǎn)程服務(wù)器沒有在know_hosts文件中記錄時的應(yīng)對策略。(可以理解為避免報錯),參數(shù)有: AutoAddPolicy 自動添加主機名及主機密鑰到本地HostKeys對象,不依賴load_system_host_key的配置。即新建立ssh連接時不需要再輸入yes或no進(jìn)行確認(rèn) WarningPolicy 用于記錄一個未知的主機密鑰的python警告。并接受,功能上和AutoAddPolicy類似,但是會提示是新連接 RejectPolicy 自動拒絕未知的主機名和密鑰,依賴load_system_host_key的配置。此為默認(rèn)選項 exec_command():這是寫你需要執(zhí)行的命令的

接下來你就可以拿出輸出做一些該干嘛(ke)干嘛(pa)的事情了,這里先舉這個簡單的列子。

SFTPClient 常用方法:

t = paramiko.Transport(('192.168.23.134', 22))# 獲取Transport實例 t.connect(username='ftoz', password='123456')# 連接SSH服務(wù)端,使用password sftp = paramiko.SFTPClient.from_transport(t) sftp.put("F:\S12312.txt","/home/ftoz/zxc12312.txt")#執(zhí)行上傳動作 sftp.get("/home/ftoz/zxc12312.txt", "F:\S12312.txt")#執(zhí)行下載動作 t.close()

SFTPCLient 作為一個 sftp 的客戶端對象,根據(jù) ssh 傳輸協(xié)議的 sftp 會話,實現(xiàn)遠(yuǎn)程文件操作,如上傳、下載、權(quán)限、狀態(tài)

from_transport(cls,t) 創(chuàng)建一個已連通的SFTP客戶端通道 put(localpath, remotepath, callback=None, confirm=True) 將本地文件上傳到服務(wù)器 參數(shù)confirm:是否調(diào)用stat()方法檢查文件狀態(tài),返回ls -l的結(jié)果 get(remotepath, localpath, callback=None) 從服務(wù)器下載文件到本地 mkdir() 在服務(wù)器上創(chuàng)建目錄 remove() 在服務(wù)器上刪除目錄 rename() 在服務(wù)器上重命名目錄 stat() 查看服務(wù)器文件狀態(tài) listdir() 列出服務(wù)器目錄下的文件

以上是“如何遠(yuǎn)程執(zhí)行Linux腳本和命令”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞標(biāo)題:如何遠(yuǎn)程執(zhí)行Linux腳本和命令
鏈接地址:http://weahome.cn/article/picgdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部