主要使用paramiko模塊 #python操作linux #在操作時有幾個點需要注意,如stdout.readlines()這樣的調用最好重新賦值給另一個變量,直接用這個作為變量出來的結果雖不會報錯,但結果是錯誤的 import paramiko import re def get_connect(): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('ip',port,'user','password') sftp = ssh.open_sftp() stdin,stdout,stderr = ssh.exec_command('cd /file_store/qs;ls;') file = stdout.readlines() for i in range(len(file)): file_name = str(file[i]).replace('\n','') print(file_name) sftp.get('/file_store/qs/%s'%file_name,'./%s'%file_name,None) print('success') if __name__ == '__main__': get_connect()
這個模塊的主體架構其實可以分為以下幾個點:
一、連接
二、執行命令
三、上傳或下載文件
其實就是我們在liunx中做的事情也就這些,這個總結框架是比較大,細分還是有許多可以細化的地方。
比如連接可以分為win->linux or linux->linux。這是兩種不同的類型,連接配置要求不同。所以需要輸入的參數也不同。當前只解鎖了win->Linux。linux->linux需要配置公鑰,賬號密碼的方式在測試中。