欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

import paramiko
# 創(chuàng)建SSH對象
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)簡單的命令發(fā)送 和接收指令結(jié)果 ,這里面的方法寫死了 ,但總算連接成功了,應(yīng)為開始虛擬機(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  簡單的測試代碼如下

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()

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

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

import paramiko
private_key = paramiko.RSAKey.from_private_key_file('id_rsa31.txt')#要將私鑰放在這里
# 創(chuàng)建SSH對象
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é)

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

相關(guān)文章

  • matplotlib繪制多個(gè)子圖(subplot)的方法

    matplotlib繪制多個(gè)子圖(subplot)的方法

    這篇文章主要介紹了matplotlib繪制多個(gè)子圖(subplot)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Django接收post前端返回的json格式數(shù)據(jù)代碼實(shí)現(xiàn)

    Django接收post前端返回的json格式數(shù)據(jù)代碼實(shí)現(xiàn)

    這篇文章主要介紹了Django接收post前端返回的json格式數(shù)據(jù)代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python append、extend與insert的區(qū)別

    python append、extend與insert的區(qū)別

    這篇文章主要介紹了python append、extend與insert的區(qū)別的相關(guān)資料,初學(xué)者對這幾個(gè)概念經(jīng)常搞混,這里就幫大家理清楚,需要的朋友可以參考下
    2016-10-10
  • 從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例

    從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例

    今天小編就為大家分享一篇從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python自帶的IDE在哪里

    Python自帶的IDE在哪里

    在本篇內(nèi)容里小編給大家分享的是關(guān)于如何找到Python自帶的IDE的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • 用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例

    用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例

    下面小編就為大家分享一篇用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨想過來看看吧
    2017-12-12
  • Python中unittest用法實(shí)例

    Python中unittest用法實(shí)例

    這篇文章主要介紹了Python中unittest用法,較為詳細(xì)的講述了unittest中相關(guān)函數(shù)的用法及完整實(shí)例,需要的朋友可以參考下
    2014-09-09
  • python實(shí)現(xiàn)百度關(guān)鍵詞排名查詢

    python實(shí)現(xiàn)百度關(guān)鍵詞排名查詢

    這篇文章主要介紹了python實(shí)現(xiàn)百度關(guān)鍵詞排名查詢,需要的朋友可以參考下
    2014-03-03
  • OpenCV半小時(shí)掌握基本操作之直線檢測

    OpenCV半小時(shí)掌握基本操作之直線檢測

    這篇文章主要介紹了OpenCV基本操作之直線檢測,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 淺析Python3中的對象垃圾收集機(jī)制

    淺析Python3中的對象垃圾收集機(jī)制

    在Python中,它在每個(gè)對象中保持了一個(gè)計(jì)數(shù)器,用于記錄指向該對象的的引用的個(gè)數(shù)。這篇文章主要介紹了Python3中的對象垃圾收集機(jī)制,需要的朋友可以參考下
    2019-06-06

最新評論