新聞中心
一、Paramiko模塊簡介
Python Paramiko是Python編程語言中的SSHv2協(xié)議的實現(xiàn),支持連接SSH客戶端和服務(wù)器?;赟SH客戶端的基礎(chǔ)功能,可以在Python環(huán)境中執(zhí)行命令、傳輸文件、執(zhí)行遠程代碼和控制SSH會話等。因此,Python Paramiko模塊被廣泛應(yīng)用于后臺自動化、配置管理、網(wǎng)絡(luò)管理、系統(tǒng)測試、安全審計等領(lǐng)域。

創(chuàng)新互聯(lián)是專業(yè)的海城網(wǎng)站建設(shè)公司,海城接單;提供網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行海城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
二、安裝Paramiko模塊
如果你使用的是Python2.x版本,則需要執(zhí)行以下命令進行安裝:
pip install paramiko如果你使用的是Python3.x版本,則需要執(zhí)行以下命令進行安裝:
pip3 install paramiko三、Paramiko模塊基本使用
1、SSH連接對象構(gòu)建
在使用Paramiko模塊進行SSH連接之前,需要構(gòu)建SSH連接對象。SSH連接對象是一個連接到SSH遠程主機的網(wǎng)絡(luò)連接。
import paramiko
ssh = paramiko.SSHClient()
# 設(shè)置自動添加主機名及其對應(yīng)的密鑰
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())2、SSH連接對象連接
SSh連接對象與遠程主機建立SSH連接。
ssh.connect(hostname='example.com', port=22, username='user', password='password')3、SSH連接對象執(zhí)行命令
SSH連接對象執(zhí)行遠程主機的命令和程序。返回值為一個元組,包含了命令執(zhí)行的返回碼和標準輸出結(jié)果。
stdin, stdout, stderr = ssh.exec_command('ls -l')
print(stdout.read().decode('utf-8'))4、SSH連接對象傳輸文件
SSH連接對象傳輸文件可以將本地文件復制到遠程主機,也可以將遠程主機文件復制到本地文件系統(tǒng)。
sftp = ssh.open_sftp()
sftp.put(local_path, remote_path)
sftp.get(remote_path, local_path)
sftp.close()5、SSH連接對象控制會話
SSH連接對象控制會話可以用于交互式的SSH會話,也可以將多個命令執(zhí)行在同一個SSH會話中。
channel = ssh.invoke_shell()
channel.send('ls -l\n')
print(channel.recv(4096))四、Paramiko模塊高級使用
1、SSH連接對象批量執(zhí)行命令
通過SSH連接對象批量執(zhí)行命令可以快速執(zhí)行一系列的命令和腳本。
commands = ['uptime', 'df -h']
for command in commands:
stdin, stdout, stderr = ssh.exec_command(command)
print(stdout.read().decode('utf-8'))2、SSH連接對象代理設(shè)置
SSH連接對象代理設(shè)置可以通過代理服務(wù)器讓SSH連接對象連接到其他遠程主機。
proxy = paramiko.ProxyCommand('ssh user@proxyhost -p 22 nc %h %p')
ssh.connect(hostname='example.com', port=22, username='user', password='password', sock=proxy)3、SSH連接對象多個SSH連接
SSH連接對象多個SSH連接可以通過連接多個遠程主機進行并行執(zhí)行命令和數(shù)據(jù)傳輸。
ssh1, ssh2 = paramiko.SSHClient(), paramiko.SSHClient()
ssh1.connect(hostname='example1.com', port=22, username='user', password='password')
ssh2.connect(hostname='example2.com', port=22, username='user', password='password')
stdin1, stdout1, stderr1 = ssh1.exec_command('ls -l')
print(stdout1.read().decode('utf-8'))
stdin2, stdout2, stderr2 = ssh2.exec_command('df -h')
print(stdout2.read().decode('utf-8'))4、SSH連接對象SSH密鑰認證
SSH連接對象SSH密鑰認證可以替代密碼進行SSH連接,更加安全和方便。
ssh_key = paramiko.RSAKey.from_private_key_file('/path/to/key')
ssh.connect(hostname='example.com', port=22, username='user', pkey=ssh_key)5、SSH連接對象控制超時時間
SSH連接對象控制超時時間可以避免SSH連接出現(xiàn)超時等問題。
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='example.com', port=22, username='user', password='password', timeout=3.0)五、總結(jié)
Python Paramiko模塊是Python編程語言中的SSHv2協(xié)議的實現(xiàn),支持連接SSH客戶端和服務(wù)器。通過SSH連接對象批量執(zhí)行命令、傳輸文件、執(zhí)行遠程代碼和控制SSH會話等,可以實現(xiàn)后臺自動化、配置管理、網(wǎng)絡(luò)管理、系統(tǒng)測試、安全審計等眾多領(lǐng)域的應(yīng)用。同時,通過SSH密鑰認證、代理設(shè)置、多個SSH連接和超時時間控制等高級使用,可以提高SSH連接對象的安全性和可靠性。
本文題目:創(chuàng)新互聯(lián)Python教程:PythonParamiko模塊用法介紹
標題來源:http://m.5511xx.com/article/dpiehpp.html


咨詢
建站咨詢
