国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁(yè)/技術(shù)文章
文章詳情頁(yè)

Python如何使用paramiko模塊連接linux

【字号: 作者:豬豬瀏覽:45日期:2022-08-02 08:34:40

python程序需要連接linux時(shí),需要使用密碼或者秘鑰驗(yàn)證以登錄os進(jìn)行命令操作或者文件傳輸,python中實(shí)現(xiàn)此功能的模塊為paramiko;下面是該模塊的基礎(chǔ)用法

下面是通過(guò)密碼進(jìn)行l(wèi)inux登錄執(zhí)行命令和文件傳輸示例

import paramiko#python程序需要批量管理linux時(shí)需要借助paramilo模塊登錄linux執(zhí)行命令或者傳輸文件,下面是最簡(jiǎn)單的登錄主機(jī)執(zhí)行命令ssh_client = paramiko.SSHClient() #創(chuàng)建連接對(duì)象ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允許連接不在know_hosts文件中的主機(jī),首次登陸其它機(jī)器時(shí)會(huì)用到ssh_client.connect(hostname='192.168.226.128', port=22, username='root', password='123456') #使用用戶(hù)名密碼連接主機(jī)stdin, stdout, stderr = ssh_client.exec_command('df -h') #執(zhí)行命令獲取結(jié)果#獲取命令結(jié)果res,err = stdout.read(),stderr.read()result = res if res else err ##這里我們使用三元運(yùn)算print(result.decode(encoding='utf-8'))ssh_client.close() #關(guān)閉ssh#下面是傳輸文件transport = paramiko.Transport(('192.168.226.128', 22))transport.connect(username='root', password='123456')my_sftp = paramiko.SFTPClient.from_transport(transport)my_sftp.put('__init__.py', '/root/123.tst') #__init__.py是本地文件名,其它目錄需要寫(xiě)絕對(duì)路徑形式, /root/123.tst上傳到128的root目錄且命名為123.tstmy_sftp.get('/root/hello.py', 'hello_get.py') #將遠(yuǎn)端的hello.py 下載到本地當(dāng)前目錄且重命名為hello_get.pytransport.close()

代碼中出現(xiàn)明文密碼是不安全也不符合編程規(guī)范的,為了更加安全我們可使用秘鑰來(lái)進(jìn)行登錄。

首先兩臺(tái)linux機(jī)器進(jìn)行如下操作后就可以實(shí)現(xiàn)192.168.226.128免密登錄192.168.226.129

1、正常條件下128主機(jī)ssh連接129機(jī)器整個(gè)過(guò)程如下,需要數(shù)據(jù)密碼

Python如何使用paramiko模塊連接linux

2、輸入ssh-keygen后,所有命令直接回車(chē),在登錄用戶(hù)家目錄下.ssh目錄下會(huì)生成id_rsa和id_rsa.pub兩個(gè)文件,其中id_rsa是私鑰id_rsa.pub是公鑰

Python如何使用paramiko模塊連接linux

3、ssh-copy-id命令可以將本地公鑰拷貝到129主機(jī)的root用戶(hù)家目錄下的authorized_keys文件里

Python如何使用paramiko模塊連接linux

Python如何使用paramiko模塊連接linux

3、此時(shí)128就可以免密登錄129了,但是129不能免密登錄128;如果需要?jiǎng)t129需要進(jìn)行與128相同的操作。可以免密是128的id_rsa與129對(duì)應(yīng)用戶(hù)的authorized_keys文件內(nèi)的公鑰能夠校驗(yàn)成功

Python如何使用paramiko模塊連接linux

4、對(duì)應(yīng)的如果當(dāng)前只進(jìn)行上述操作,此時(shí)win機(jī)器可以通過(guò)128的id_rsa實(shí)現(xiàn)免密登錄129機(jī)器,具體實(shí)現(xiàn)如下

import paramiko#python程序需要批量管理linux時(shí)需要借助paramilo模塊登錄linux執(zhí)行命令或者傳輸文件,下面是最簡(jiǎn)單的登錄主機(jī)執(zhí)行命令private_key = paramiko.RSAKey.from_private_key_file('id_rsa')ssh = paramiko.SSHClient() #創(chuàng)建連接對(duì)象ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允許連接不在know_hosts文件中的主機(jī)ssh.connect(hostname='192.168.226.129', port=22, username='root', pkey=private_key) #使用用戶(hù)名密碼連接主機(jī)stdin, stdout, stderr = ssh.exec_command('df -h') #執(zhí)行命令獲取結(jié)果#獲取命令結(jié)果res,err = stdout.read(),stderr.read()result = res if res else err ##這里我們使用三元運(yùn)算print(result.decode(encoding='utf-8'))ssh.close() #關(guān)閉ssh#下面是傳輸文件transport = paramiko.Transport(('192.168.226.129', 22))transport.connect(username='root', pkey=private_key)my_sftp = paramiko.SFTPClient.from_transport(transport)my_sftp.put('__init__.py', '/root/123.tst')my_sftp.get('/root/hello.py', 'hello_get129.py')transport.close()

注意:

1、此時(shí)雖然有128的私鑰,但是無(wú)法免密登錄128,登錄時(shí)會(huì)報(bào)認(rèn)證失敗,paramiko.ssh_exception.AuthenticationException: Authentication failed;此時(shí)還只能通過(guò)密碼登錄128或者通過(guò)將129生成的公鑰拷貝給128使用129私鑰登錄128。

2、不能使用128的公鑰來(lái)登錄129,此時(shí)win機(jī)器模擬的是128免密登錄129當(dāng)然需要使用128的私鑰了,否則無(wú)法和129本地文件內(nèi)128的公鑰無(wú)法配對(duì);使用公鑰登錄129 會(huì)報(bào)不合法的私鑰文件paramiko.ssh_exception.SSHException: not a valid RSA private key file

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 高清毛片免费看 | 男女配种猛烈免费视频 | 特级毛片免费观看视频 | 韩国精品一区二区三区四区五区 | 欧美福利一区二区三区 | 日韩精品特黄毛片免费看 | 国产一区欧美 | 伊大人香蕉久久网欧美 | 国产美女精品三级在线观看 | 欧美另类69xxxxx视频 | 午夜视频一区二区三区 | 国产精品一区在线播放 | 伊人成人在线视频 | 91人碰 | 国产欧美一区二区三区视频在线观看 | 国产国语高清在线视频二区 | 尹人成人 | 成人欧美一区在线视频在线观看 | a毛片免费观看完整 | 久草在线播放视频 | 亚洲成人偷拍自拍 | 手机看片日韩日韩韩 | 久久精品免观看国产成人 | 国产精品九九久久一区hh | 国产微拍精品福利视频 | 欧美日本一区二区三区道 | 久久免费视频在线观看 | 在线观看久草 | 久久久久久久久久综合情日本 | 久久免费精品一区二区 | 精品欧美一区二区三区在线 | 黄色三级网站免费 | 一本久道久久综合中文字幕 | 精品国产三级a∨在线 | 欧美一二区视频 | 欧美日韩亚洲高清不卡一区二区三区 | 国产成人综合久久精品亚洲 | 91欧美激情一区二区三区成人 | 一级做a爰片久久毛片潮喷 一级做a爰片久久毛片美女 | 91av在线免费观看 | 一级美女片 |