最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)ssh及sftp功能(實(shí)例代碼)

 更新時(shí)間:2020年03月16日 13:42:06   作者:愛(ài)笑的程序員  
這篇文章主要介紹了python實(shí)現(xiàn)ssh及sftp功能 ,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.在Linux上我們通過(guò)scp命令實(shí)現(xiàn)主機(jī)間的文件傳送,通過(guò)ssh實(shí)現(xiàn)遠(yuǎn)程登錄 ,比如 我們經(jīng)常使用的xshell遠(yuǎn)程登錄工具,就是基礎(chǔ)ssh協(xié)議實(shí)現(xiàn)window主機(jī)遠(yuǎn)程登錄Linux主機(jī)

 下面簡(jiǎn)單的在python實(shí)現(xiàn)這幾個(gè)功能   下面使用到paramiko模塊,這個(gè)不是python的內(nèi)置模塊,我直接通過(guò)pycharm下載這個(gè)模塊,

第一步實(shí)現(xiàn)一個(gè)簡(jiǎn)單的ssh登錄命令 代碼如下:

import paramiko
# 創(chuàng)建SSH對(duì)象
ssh = paramiko.SSHClient()
# 允許連接不在know_hosts文件中的主機(jī)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#第一次登錄的認(rèn)證信息
# 連接服務(wù)器
ssh.connect(hostname='192.168.158.131', port=22, username='root', password='hadoop')
# 執(zhí)行命令
stdin, stdout, stderr = ssh.exec_command('ls /')
# 獲取命令結(jié)果
res,err = stdout.read(),stderr.read()
result = res if res else err
print(result.decode())
# 關(guān)閉連接
ssh.close()

  登錄并能實(shí)現(xiàn)簡(jiǎn)單的命令發(fā)送 和接收指令結(jié)果 ,這里面的方法寫死了 ,但總算連接成功了,應(yīng)為開(kāi)始虛擬機(jī)的在學(xué)習(xí)iptables加了許多規(guī)則,并且在ssh 的服務(wù)器端修改了默認(rèn)端口一直

連不上,修改配置文件后設(shè)置允許遠(yuǎn)程主機(jī)遠(yuǎn)程連接  ,/etc/ssh/sshd_config文件中配置  

  然后實(shí)現(xiàn)模擬Linux的scp 命令上傳下載文件  ,使用了paramiko的Transport  簡(jiǎn)單的測(cè)試代碼如下

import paramiko
transport = paramiko.Transport(('192.168.158.131', 22))
transport.connect(username='root', password='hadoop')
sftp = paramiko.SFTPClient.from_transport(transport)
# 將location.py 上傳至服務(wù)器 /tmp/test.py
sftp.put('fromlinux.txt', '/tmp/test_from_win')
# 將remove_path 下載到本地 local_path
# sftp.get('/root/oldgirl.txt', 'fromlinux.txt')

transport.close()

同樣的也能 測(cè)試成功 ,能實(shí)現(xiàn)文件的上傳與下載

最后注意到paramiko.RSAKey這個(gè)功能,能思想比較牛逼的ssh免密登錄,核心的過(guò)程就是在Linux通過(guò)ssh-keygen在主機(jī)上生成一對(duì)密鑰 ,公鑰放在~/.ssh/authorized_keys文件在,將私鑰拷貝到windows主機(jī)的環(huán)境目錄下 ,

import paramiko
private_key = paramiko.RSAKey.from_private_key_file('id_rsa31.txt')#要將私鑰放在這里
# 創(chuàng)建SSH對(duì)象
ssh = paramiko.SSHClient()
# 允許連接不在know_hosts文件中的主機(jī)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連接服務(wù)器
ssh.connect(hostname='10.0.0.41', port=22, username='fang', pkey=private_key)
# 執(zhí)行命令
stdin, stdout, stderr = ssh.exec_command('df;ifconfig')
result = stdout.read()
print(result.decode())
stdin, stdout2, stderr = ssh.exec_command('ifconfig')
# 獲取命令結(jié)果
result2 = stdout2.read()
print(result2.decode())
# 關(guān)閉連接
ssh.close()

成功的實(shí)現(xiàn)了免密連接,代碼知識(shí)做簡(jiǎn)單的測(cè)試用,以連接為主,沒(méi)考慮其他的實(shí)際需要

這些東西玩了一下午,還是挺神奇的,

總結(jié)

到此這篇關(guān)于python實(shí)現(xiàn)ssh及sftp功能 的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)ssh sftp 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python編寫一個(gè)MP3分割工具

    基于Python編寫一個(gè)MP3分割工具

    這篇文章主要為大家詳細(xì)介紹了如何基于Python編寫一個(gè)MP3分割工具,可以將MP4轉(zhuǎn)成Mp3并且按時(shí)間或按歌曲分割,感興趣的小伙伴可以了解下
    2025-02-02
  • python之停止打印日志/重復(fù)打印日志方式

    python之停止打印日志/重復(fù)打印日志方式

    這篇文章主要介紹了python停止打印日志/重復(fù)打印日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python基本數(shù)據(jù)結(jié)構(gòu)之字典類型dict用法分析

    Python基本數(shù)據(jù)結(jié)構(gòu)之字典類型dict用法分析

    這篇文章主要介紹了Python基本數(shù)據(jù)結(jié)構(gòu)之字典類型dict用法,結(jié)合實(shí)例形式分析了Python字典類型dict概念、原理、定義及基本使用技巧,需要的朋友可以參考下
    2019-06-06
  • 跟老齊學(xué)Python之大話題小函數(shù)(1)

    跟老齊學(xué)Python之大話題小函數(shù)(1)

    今天本講要講什么呢?今天要介紹幾個(gè)python中的小函數(shù),這幾個(gè)函數(shù)都是從函數(shù)式編程借鑒過(guò)來(lái)的,它們就是:filter、map、reduce、lambda、yield 有了它們,最大的好處是程序更簡(jiǎn)潔
    2014-10-10
  • Django多層嵌套ManyToMany字段ORM操作詳解

    Django多層嵌套ManyToMany字段ORM操作詳解

    這篇文章主要介紹了Django多層嵌套ManyToMany字段ORM操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Python中dictionary items()系列函數(shù)的用法實(shí)例

    Python中dictionary items()系列函數(shù)的用法實(shí)例

    這篇文章主要介紹了Python中dictionary items()系列函數(shù)的用法,很實(shí)用的函數(shù),需要的朋友可以參考下
    2014-08-08
  • python+selenium打印當(dāng)前頁(yè)面的titl和url方法

    python+selenium打印當(dāng)前頁(yè)面的titl和url方法

    今天小編就為大家分享一篇python+selenium打印當(dāng)前頁(yè)面的titl和url方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python矩陣常見(jiàn)運(yùn)算操作實(shí)例總結(jié)

    Python矩陣常見(jiàn)運(yùn)算操作實(shí)例總結(jié)

    這篇文章主要介紹了Python矩陣常見(jiàn)運(yùn)算操作,結(jié)合實(shí)例形式總結(jié)分析了Python矩陣的創(chuàng)建以及相乘、求逆、轉(zhuǎn)置等相關(guān)操作實(shí)現(xiàn)方法,需要的朋友可以參考下
    2017-09-09
  • Python中類型檢查的詳細(xì)介紹

    Python中類型檢查的詳細(xì)介紹

    Python是一種非常動(dòng)態(tài)的語(yǔ)言,函數(shù)定義中完全沒(méi)有類型約束。下面這篇文章主要給大家詳細(xì)介紹了Python中類型檢查的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • python常用數(shù)據(jù)結(jié)構(gòu)元組詳解

    python常用數(shù)據(jù)結(jié)構(gòu)元組詳解

    這篇文章主要介紹了python常用數(shù)據(jù)結(jié)構(gòu)元組詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08

最新評(píng)論

龙南县| 平原县| 理塘县| 东乡族自治县| 平和县| 林州市| 津南区| 北宁市| 肃南| 崇文区| 萨迦县| 文山县| 临澧县| 舒城县| 榆林市| 上虞市| 商洛市| 葫芦岛市| 南开区| 兴海县| 阿勒泰市| 鄂伦春自治旗| 钦州市| 清远市| 蕲春县| 明光市| 望城县| 五台县| 湟源县| 中卫市| 长寿区| 榕江县| 鄂托克前旗| 米泉市| 乐都县| 岗巴县| 贵德县| 闵行区| 长丰县| 肥乡县| 伊吾县|