1. Pasang
pip install paramiko
2 Import modul
import paramiko
3 (): ''' Permulaan, akaun sambungan SSH dan kata laluan untuk log masuk ke pelayan: return: sshClinet ''' ip = ""#Alamat ip Pelayan sshClinet = paramiko.SSHClient() sshClinet.set_missing_host_key_policy(paramiko.AutoAddPolicy() ) sshClinet.connect( ip, 22, Nama pengguna, pw, tamat masa=360) kembalikan sshClinet
def exeCommond(commond): ''' Laksanakan perintah shell''' stdin, stdout, stderr = sshClient.exec_command( command) outStr = stdout .readlines() print("n".join(outStr))
def sftpUploadFile(localPath, remotePath): #Dapatkan contoh SFTP sftp = sshClinet.open_sftp() #Lakukan muat naik tindakan sftp.put(localPath, remotePath)
def sftpDownloadFile(localPath, remotePath): #Dapatkan contoh SFTP sftp = sshClinet.open_sftp() #Laksanakan tindakan muat turun sftp.get(localPath, remotePath)
Ingat untuk menutup sambungan pada penghujung sshClient.close()Anda juga boleh log masuk menggunakan kunci persendirian: # Konfigurasikan kunci persendirian lokasi fail peribadi = paramiko.RSAKey.from_private_key_file('/Users/ch /.ssh/id_rsa')#Instantiate SSHClientclient = paramiko.SSHClient()#Tambahkan dasar secara automatik untuk menyimpan nama hos pelayan dan maklumat kunci. hos yang tidak lagi direkodkan dalam fail know_hosts setempat tidak akan dapat menyambung kepada klien set_missing_host_key_policy(paramiko.AutoAddPolicy())#Sambung ke pelayan SSH dan sahkan dengan nama pengguna dan kata laluan klien.connect(hostname='10.0. 0.1',port=22,username='root',pkey=private)Belajar
paramiko mengandungi dua komponen teras: SSHClient dan SFTPClient.
Fungsi SSHClient serupa dengan arahan ssh Linux Ia adalah enkapsulasi sesi SSH ini merangkumi kaedah penubuhan pengangkutan, saluran dan SFTPClient (open_sftp). Fungsi SFTPClient adalah serupa dengan perintah sftp Linux Ia adalah enkapsulasi klien SFTP dan digunakan untuk melaksanakan operasi fail jauh, seperti muat naik fail, muat turun dan pengubahsuaian kebenaran fail. Saluran ialah sejenis Soket, saluran penghantaran SSH yang selamat ialah sesi yang disulitkan, Terowong (saluran) yang disulitkan akan dibuat serentak ini dipanggil ChannelSession dan dikekalkan antara pelanggan dan Pelayan. Objek sambungan, gunakan connect()/start_client()/start_server() untuk memulakan sesiPengenalan kepada kaedah SSHClient yang biasa digunakan
connect(): merealisasikan sambungan pelayan jauh Dengan pengesahan, hanya nama hos adalah parameter yang diperlukan untuk kaedah ini.
nama hos Hos sasaran untuk disambungkan ke port=SSH_PORT Tentukan nama pengguna port=Tiada Kata laluan nama pengguna yang disahkan=Tiada Kata laluan pengguna yang disahkan pkey=Tiada Kaedah kunci peribadi untuk pengesahan key_filename=Tiada Nama fail atau senarai fail, Tentukan peribadi fail utama tamat masa=Tiada tamat masa sambungan tcp pilihan allow_agent=Betul Sama ada membenarkan sambungan ke ejen ssh, lalainya ialah Benar Benarkan look_for_keys=Benar Sama ada untuk mencari fail kunci peribadi dalam ~/.ssh, lalainya ialah Benar Benarkan compress=Salah Sama ada untuk menghidupkan mampatanset_missing_host_key_policy(): Tetapkan strategi respons apabila pelayan jauh tidak direkodkan dalam fail know_hosts. Lulus dalam subkelas MissingHostKeyPolicy Pada masa ini, tiga strategi disokong: Tetapkan strategi apabila hos jauh yang disambungkan tidak mempunyai kunci hos tempatan atau objek HostKeys Pada masa ini, tiga strategi disokong: AutoAddPolicy secara automatik menambah nama Hos dan kunci hos pada objek HostKeys setempat, tidak bergantung pada konfigurasi load_system_host_key. Iaitu, apabila membuat sambungan ssh baharu, anda tidak perlu memasukkan ya atau tidak untuk pengesahan WarningPolicy digunakan untuk merekodkan amaran python untuk kunci hos yang tidak diketahui. Dan terima, fungsi ini serupa dengan AutoAddPolicy, tetapi ia akan menggesa bahawa sambungan baharu RejectPolicy secara automatik menolak nama dan kunci hos yang tidak diketahui, bergantung pada konfigurasi load_system_host_key. Ini ialah pilihan lalaiexec_command(): Kaedah untuk melaksanakan arahan Linux pada pelayan jauh. open_sftp(): Buat sesi sftp berdasarkan sesi ssh semasa. Kaedah ini mengembalikan objek SFTPClient.Pengenalan kepada kaedah biasa SFTPClient
from_transport(cls,t): Buat saluran pelanggan SFTP yang disambungkan put(localpath, remotepath, callback=None, confirm= True ): Muat naik fail tempatan ke pelayan Parameter mengesahkan: Sama ada untuk memanggil kaedah stat() untuk menyemak status fail dan mengembalikan hasil ls -l get(remotepath, localpath, callback=None): Muat turun fail dari pelayan ke local mkdir(): Dalam Cipta direktori pada pelayan remove(): Padam direktori pada pelayan rename(): Namakan semula direktori pada server stat(): Lihat status fail pelayan listdir(): Senaraikan fail dalam direktori pelayan
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan operasi dan penyelenggaraan automatik dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!