亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python的paramiko模塊實(shí)現(xiàn)遠(yuǎn)程控制和傳輸示例

 更新時(shí)間:2017年10月13日 09:19:37   作者:未聞花開(kāi)  
本篇文章主要介紹了python的paramiko模塊實(shí)現(xiàn)遠(yuǎn)程控制和傳輸示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文介紹了python的paramiko模塊實(shí)現(xiàn)遠(yuǎn)程控制和傳輸示例,分享給大家,具體如下:

1 安裝

sudo pip install paramiko

2 ssh實(shí)現(xiàn)遠(yuǎn)程控制

#LINUX下執(zhí)行shell
ssh username@ip #輸入密碼后就可以對(duì)遠(yuǎn)程機(jī)器進(jìn)行操作
ssh username@ip command #輸入密碼后遠(yuǎn)程機(jī)器就執(zhí)行command

ssh運(yùn)行后,想退出,可以kill掉ssh進(jìn)程。

3 paramiko實(shí)現(xiàn)ssh

import paramiko
hostname = '10.1.111.111'
username = 'root'
password = '111111'
port = 22 #整數(shù)不是字符串
paramiko.util.log_to_file('paramiko.log')
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允許連接不在know_hosts文件中的主機(jī)
ssh.connect(hostname=hostname,port=port,username=username,password=password)
stdin, stdout, stderr = ssh.exec_command("ls") #遠(yuǎn)程執(zhí)行shell命令
print(stdout.readlines()) #輸出回顯結(jié)果
ssh.close()

exec_command命令,以分號(hào);分隔表示先后執(zhí)行兩個(gè)命令;可以傳入多個(gè)參數(shù); exec_command為單個(gè)會(huì)話,執(zhí)行完成之后會(huì)回到登錄時(shí)的缺省目錄,如下:

a='~/Videos'
b='aaa'
ssh.exec_command('cd %s;mkdir %s'%(a,b)) #aaa在a目錄下
ssh.exec_command('mkdir aaa') #aaa在缺省目錄下

遠(yuǎn)端執(zhí)行命令時(shí)如果有交互,可以這樣用 stdin.write(“”)來(lái)完成。

注意:

(1)sudo后要加-S,表示從stdin接收密碼;

(2)stdin.write(‘password\n')最后要加\n作為命令的結(jié)束,否則服務(wù)器一直等待;

(3) flush()寫入的緩沖( flush() any buffer you're writing to )

stdin, stdout, stderr = ssh.exec_command('sudo -S ls')
stdin.write('password\n')
stdin.flush()

可以利用多進(jìn)程或線程可以批量執(zhí)行命令:

import paramiko
import threading

def ssh_cmd(ip,port,username,passwd,cmd):
  ssh = paramiko.SSHClient()
  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  ssh.connect(ip,port,username,passwd)
  for m in cmd:
    stdin, stdout, stderr = ssh.exec_command(m)
    print(stdout.readlines()) 
  ssh.close()

if __name__=='__main__':
  cmd = ['ls','ifconfig']   
  a=threading.Thread(target=ssh_cmd,args=(ip,port,username,passwd,cmd))
  a.start() 
  a.join()

4 遠(yuǎn)程傳輸文件

scp從本地服務(wù)器復(fù)制到遠(yuǎn)程服務(wù)器

scp local_file remote_username@remote_ip:remote_file

指定了用戶名,命令執(zhí)行后需要輸入用戶密碼;如果不指定用戶名,命令執(zhí)行后需要輸入用戶名和密碼; 從遠(yuǎn)處復(fù)制文件到本地

scp remote_username@remote_ip:remote_file local_file 

5 paramiko實(shí)現(xiàn)遠(yuǎn)程傳輸文件

新建一個(gè)SFTPClient對(duì)象,該對(duì)象復(fù)用之前的SSH連接,因此,我們使用sftp傳輸文件時(shí),不需要再次進(jìn)行用戶認(rèn)證。實(shí)現(xiàn)文件

上傳:

sftp = paramiko.SFTPClient.from_transport(ssh.get_transport())
#sftp = ssh.open_sftp() #兩者選其一即可
sftp.put('bbb.c','aaa.c') #文件上傳并重命名
sftp.close()

或者以下實(shí)現(xiàn)文件上傳和下載:

import paramiko
t=paramiko.Transport((hostname,port))
t.connect(username=username,password=password)
sftp = paramiko.SFTPClient.from_transport(t) 
sftp.put('bbb.c','aaa.c') #文件上傳并重命名
sftp.get('m.py', 'mm.py')#文件下載并重命名
t.close()

官方文檔

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入理解Python對(duì)Json的解析

    深入理解Python對(duì)Json的解析

    Json是一種常用的數(shù)據(jù)交換結(jié)構(gòu),由于輕量、易于閱讀和編寫等特點(diǎn),在網(wǎng)絡(luò)方面應(yīng)用很廣。下面這篇文章主要介紹了Python對(duì)Json解析的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • python3調(diào)用windows dos命令的例子

    python3調(diào)用windows dos命令的例子

    今天小編就為大家分享一篇python3調(diào)用windows dos命令的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python中星號(hào)的五種用法小結(jié)

    Python中星號(hào)的五種用法小結(jié)

    本文主要介紹了Python中星號(hào)的五種用法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python 如何讀取字典的所有鍵-值對(duì)

    Python 如何讀取字典的所有鍵-值對(duì)

    這篇文章主要介紹了Python 讀取字典的所有鍵-值對(duì)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python中json.dumps()函數(shù)使用和示例

    Python中json.dumps()函數(shù)使用和示例

    這篇文章主要介紹了Python中json.dumps()函數(shù)使用和示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • python實(shí)現(xiàn)分析apache和nginx日志文件并輸出訪客ip列表的方法

    python實(shí)現(xiàn)分析apache和nginx日志文件并輸出訪客ip列表的方法

    這篇文章主要介紹了python實(shí)現(xiàn)分析apache和nginx日志文件并輸出訪客ip列表的方法,涉及Python操作日志文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • python目錄操作之python遍歷文件夾后將結(jié)果存儲(chǔ)為xml

    python目錄操作之python遍歷文件夾后將結(jié)果存儲(chǔ)為xml

    需求是獲取服務(wù)器某個(gè)目錄下的某些類型的文件,考慮到服務(wù)器即有Linux、又有Windows,所以寫了一個(gè)Python小程序來(lái)完成這項(xiàng)工作,大家參考使用吧
    2014-01-01
  • 解決Python字典查找報(bào)Keyerror的問(wèn)題

    解決Python字典查找報(bào)Keyerror的問(wèn)題

    這篇文章主要介紹了解決Python字典查找報(bào)Keyerror的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Permission denied的解決方法

    Permission denied的解決方法

    這篇文章主要介紹了Permission denied的解決方法,希望能給你帶來(lái)幫助
    2021-08-08
  • python中tkinter窗口位置\坐標(biāo)\大小等實(shí)現(xiàn)示例

    python中tkinter窗口位置\坐標(biāo)\大小等實(shí)現(xiàn)示例

    這篇文章主要介紹了python中tkinter窗口位置\坐標(biāo)\大小等實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論