


Pengaturcaraan pelayan Python: Menggunakan Paramiko untuk melaksanakan operasi jauh SSH
Dengan pembangunan pengkomputeran awan dan Internet of Things, pengendalian jauh pelayan telah menjadi semakin penting. Dalam Python, kita boleh menggunakan modul Paramiko untuk melaksanakan operasi jauh SSH dengan mudah. Dalam artikel ini, kami akan memperkenalkan penggunaan asas Paramiko dan cara menggunakan Paramiko dalam Python untuk mengurus pelayan dari jauh.
Apakah Paramiko
Paramiko ialah modul Python untuk SSHv1 dan SSHv2 yang boleh digunakan untuk menyambung dan mengawal klien SSH dan pelayan SSH. Menggunakan modul Paramiko, anda boleh menulis skrip Python dengan mudah untuk log masuk dan mengendalikan pelayan dari jauh.
Penggunaan asas Paramiko
Penggunaan asas modul Paramiko adalah sangat mudah. Kita boleh menggunakan kelas SSHClient Paramiko untuk mencipta objek klien SSH dan menyambung ke pelayan SSH. Berikut ialah contoh asas:
import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('hostname', username='username', password='password')
Dalam contoh ini, kami mula-mula mencipta objek SSHClient dan menggunakan kaedah set_missing_host_key_policy untuk membenarkan kunci SSH yang hilang ditambah secara automatik. Kami kemudian menyambung ke pelayan SSH menggunakan kaedah sambungan, menghantar nama hos, nama pengguna dan kata laluan sebagai parameter.
Kini, kami telah berjaya menyambung ke pelayan SSH. Seterusnya, kita boleh menggunakan objek SSHClient untuk melaksanakan arahan jauh, seperti mendapatkan maklumat sistem pengendalian pelayan:
stdin, stdout, stderr = ssh.exec_command('uname -a') print(stdout.read())
Dalam contoh ini, kami menggunakan kaedah exec_command untuk melaksanakan perintah uname -a dan mendapatkan output. Kami juga menggunakan stdout.read() untuk membaca output dan mencetaknya.
Selain melaksanakan arahan jauh, kami juga boleh menggunakan objek SSHClient untuk memuat naik dan memuat turun fail. Berikut ialah contoh memuat naik fail:
sftp = ssh.open_sftp() local_file = '/path/to/local/file.txt' remote_file = '/path/to/remote/file.txt' sftp.put(local_file, remote_file) sftp.close()
Dalam contoh ini, kami mula-mula menggunakan kaedah open_sftp untuk membuka sesi SFTP dan menggunakan kaedah put untuk memuat naik fail tempatan ke pelayan jauh. Kami juga menggunakan kaedah sftp.close() untuk menutup sesi SFTP.
Gunakan Paramiko untuk melaksanakan operasi jauh SSH
Sekarang kami telah memahami penggunaan asas Paramiko, seterusnya, kami akan menggunakan Paramiko untuk mengendalikan pelayan dari jauh. Kami akan melaksanakan fungsi berikut:
- Sambung ke pelayan SSH dan laksanakan beberapa arahan asas
- Buat dan padam folder
- Muat naik dan muat turun fail
Pertama, kita perlu memasang modul Paramiko:
pip install paramiko
Seterusnya, mari tulis skrip Python. Mula-mula, kami mengimport modul yang diperlukan:
import os import paramiko
Kemudian, kami mentakrifkan beberapa pemalar, termasuk nama hos, nama pengguna dan kata laluan pelayan SSH:
HOST = 'hostname' USER = 'username' PASSWORD = 'password'
Seterusnya, kami boleh menggunakan paramiko.SSHClient Kelas untuk menyambung ke pelayan SSH:
ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(HOST, username=USER, password=PASSWORD)
Dalam contoh ini, kami menggunakan kaedah set_missing_host_key_policy() untuk menambah kunci SSH yang hilang secara automatik.
Seterusnya, kami akan menentukan beberapa fungsi untuk melaksanakan tugas yang berbeza. Yang pertama ialah fungsi yang melaksanakan arahan:
def run_command(command): stdin, stdout, stderr = ssh.exec_command(command) output = stdout.read().decode('utf-8') return output
Fungsi ini menerima parameter arahan, menggunakan kaedah exec_command objek SSHClient untuk melaksanakan arahan dan mengembalikan output sebagai rentetan.
Seterusnya, kami mentakrifkan fungsi untuk mencipta direktori:
def create_directory(path): sftp = ssh.open_sftp() try: sftp.mkdir(path) except IOError: pass sftp.close()
Fungsi ini menerima parameter laluan dan mencipta direktori menggunakan sesi SFTP.
Kami juga mentakrifkan fungsi untuk memuat naik dan memuat turun fail:
def upload_file(local_path, remote_path): sftp = ssh.open_sftp() sftp.put(local_path, remote_path) sftp.close() def download_file(remote_path, local_path): sftp = ssh.open_sftp() sftp.get(remote_path, local_path) sftp.close()
Fungsi ini masing-masing menerima laluan setempat dan laluan jauh (untuk memuat naik) atau laluan jauh dan laluan setempat (untuk memuat turun ), dan gunakan sesi SFTP untuk memuat naik atau memuat turun fail yang sepadan.
Akhir sekali, kami akan mentakrifkan fungsi utama untuk melaksanakan semua tugas:
def main(): # Run a command output = run_command('ls -la') print(output) # Create a directory create_directory('/home/username/new_folder') # Upload a file upload_file('/path/to/local/file.txt', '/home/username/new_folder/file.txt') # Download a file download_file('/home/username/new_folder/file.txt', '/path/to/local/file.txt') # Close the SSH connection ssh.close()
Fungsi utama ini melaksanakan tugas berikut:
- Laksanakan arahan ls -la dan cetak Output
- Mencipta direktori baharu
- Memuat naik fail
- Memuat turun fail yang sama
- Sambungan SSH tertutup
Sekarang, kita boleh menjalankan skrip ini dan melihat output:
python ssh.py
Hasilnya sepatutnya seperti berikut:
total 20 drwxr-xr-x 1 username username 4096 Aug 15 02:24 . drwxr-xr-x 1 username username 4096 Aug 15 02:20 .. -rw------- 1 username username 1675 Aug 15 02:21 .bash_history -rw-r--r-- 1 username username 220 Aug 15 02:20 .bash_logout -rw-r--r-- 1 username username 3771 Aug 15 02:20 .bashrc drwx------ 1 username username 4096 Aug 15 02:20 .cache drwxr-xr-x 1 username username 4096 Aug 15 02:20 .config drwx------ 1 username username 4096 Aug 15 02:20 .gnupg -rw-r--r-- 1 username username 807 Aug 15 02:20 .profile -rw-r--r-- 1 username username 0 Aug 15 02:21 test.txt
Ringkasan
Alat kawalan jauh SSH boleh dicapai dengan mudah menggunakan Modul Paramiko beroperasi. Dalam artikel ini, kami memperkenalkan penggunaan asas Paramiko dan menunjukkan cara menggunakan Paramiko dalam Python untuk mengurus pelayan dari jauh. Sama ada dalam bidang pengkomputeran awan atau Internet Perkara, Paramiko ialah alat yang sangat berguna yang boleh membantu kami mengautomasikan pengurusan pelayan.
Atas ialah kandungan terperinci Pengaturcaraan pelayan Python: Menggunakan Paramiko untuk melaksanakan operasi jauh SSH. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



MySQL mempunyai versi komuniti percuma dan versi perusahaan berbayar. Versi komuniti boleh digunakan dan diubahsuai secara percuma, tetapi sokongannya terhad dan sesuai untuk aplikasi dengan keperluan kestabilan yang rendah dan keupayaan teknikal yang kuat. Edisi Enterprise menyediakan sokongan komersil yang komprehensif untuk aplikasi yang memerlukan pangkalan data yang stabil, boleh dipercayai, berprestasi tinggi dan bersedia membayar sokongan. Faktor yang dipertimbangkan apabila memilih versi termasuk kritikal aplikasi, belanjawan, dan kemahiran teknikal. Tidak ada pilihan yang sempurna, hanya pilihan yang paling sesuai, dan anda perlu memilih dengan teliti mengikut keadaan tertentu.

Artikel ini memperkenalkan operasi pangkalan data MySQL. Pertama, anda perlu memasang klien MySQL, seperti MySqlworkbench atau Command Line Client. 1. Gunakan perintah MySQL-Uroot-P untuk menyambung ke pelayan dan log masuk dengan kata laluan akaun root; 2. Gunakan CreateTatabase untuk membuat pangkalan data, dan gunakan Pilih pangkalan data; 3. Gunakan createtable untuk membuat jadual, menentukan medan dan jenis data; 4. Gunakan InsertInto untuk memasukkan data, data pertanyaan, kemas kini data dengan kemas kini, dan padam data dengan padam. Hanya dengan menguasai langkah -langkah ini, belajar menangani masalah biasa dan mengoptimumkan prestasi pangkalan data anda boleh menggunakan MySQL dengan cekap.

Panduan Pengoptimuman Prestasi Pangkalan Data MySQL Dalam aplikasi yang berintensifkan sumber, pangkalan data MySQL memainkan peranan penting dan bertanggungjawab untuk menguruskan urus niaga besar-besaran. Walau bagaimanapun, apabila skala aplikasi berkembang, kemunculan prestasi pangkalan data sering menjadi kekangan. Artikel ini akan meneroka satu siri strategi pengoptimuman prestasi MySQL yang berkesan untuk memastikan aplikasi anda tetap cekap dan responsif di bawah beban tinggi. Kami akan menggabungkan kes-kes sebenar untuk menerangkan teknologi utama yang mendalam seperti pengindeksan, pengoptimuman pertanyaan, reka bentuk pangkalan data dan caching. 1. Reka bentuk seni bina pangkalan data dan seni bina pangkalan data yang dioptimumkan adalah asas pengoptimuman prestasi MySQL. Berikut adalah beberapa prinsip teras: Memilih jenis data yang betul dan memilih jenis data terkecil yang memenuhi keperluan bukan sahaja dapat menjimatkan ruang penyimpanan, tetapi juga meningkatkan kelajuan pemprosesan data.

Pengoptimuman prestasi MySQL perlu bermula dari tiga aspek: konfigurasi pemasangan, pengindeksan dan pengoptimuman pertanyaan, pemantauan dan penalaan. 1. Selepas pemasangan, anda perlu menyesuaikan fail my.cnf mengikut konfigurasi pelayan, seperti parameter innodb_buffer_pool_size, dan tutup query_cache_size; 2. Buat indeks yang sesuai untuk mengelakkan indeks yang berlebihan, dan mengoptimumkan pernyataan pertanyaan, seperti menggunakan perintah menjelaskan untuk menganalisis pelan pelaksanaan; 3. Gunakan alat pemantauan MySQL sendiri (ShowProcessList, ShowStatus) untuk memantau kesihatan pangkalan data, dan kerap membuat semula dan mengatur pangkalan data. Hanya dengan terus mengoptimumkan langkah -langkah ini, prestasi pangkalan data MySQL diperbaiki.

MySQL boleh berjalan tanpa sambungan rangkaian untuk penyimpanan dan pengurusan data asas. Walau bagaimanapun, sambungan rangkaian diperlukan untuk interaksi dengan sistem lain, akses jauh, atau menggunakan ciri -ciri canggih seperti replikasi dan clustering. Di samping itu, langkah -langkah keselamatan (seperti firewall), pengoptimuman prestasi (pilih sambungan rangkaian yang betul), dan sandaran data adalah penting untuk menyambung ke Internet.

Tidak mustahil untuk melihat kata laluan MongoDB secara langsung melalui Navicat kerana ia disimpan sebagai nilai hash. Cara mendapatkan kata laluan yang hilang: 1. Tetapkan semula kata laluan; 2. Periksa fail konfigurasi (mungkin mengandungi nilai hash); 3. Semak Kod (boleh kata laluan Hardcode).

Hadidb: Pangkalan data Python yang ringan, tinggi, Hadidb (Hadidb) adalah pangkalan data ringan yang ditulis dalam Python, dengan tahap skalabilitas yang tinggi. Pasang HadIdb menggunakan pemasangan PIP: Pengurusan Pengguna PipInstallHadidB Buat Pengguna: CreateUser () Kaedah untuk membuat pengguna baru. Kaedah pengesahan () mengesahkan identiti pengguna. dariHadidb.OperationImportuserer_Obj = user ("admin", "admin") user_obj.

MySQL Workbench boleh menyambung ke MariaDB, dengan syarat bahawa konfigurasi adalah betul. Mula -mula pilih "MariaDB" sebagai jenis penyambung. Dalam konfigurasi sambungan, tetapkan host, port, pengguna, kata laluan, dan pangkalan data dengan betul. Apabila menguji sambungan, periksa bahawa perkhidmatan MariaDB dimulakan, sama ada nama pengguna dan kata laluan betul, sama ada nombor port betul, sama ada firewall membenarkan sambungan, dan sama ada pangkalan data itu wujud. Dalam penggunaan lanjutan, gunakan teknologi penyatuan sambungan untuk mengoptimumkan prestasi. Kesilapan biasa termasuk kebenaran yang tidak mencukupi, masalah sambungan rangkaian, dan lain -lain. Apabila kesilapan debugging, dengan teliti menganalisis maklumat ralat dan gunakan alat penyahpepijatan. Mengoptimumkan konfigurasi rangkaian dapat meningkatkan prestasi
