Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengesahkan Kekunci Hos Dengan Selamat Apabila Menggunakan pysftp?

Bagaimanakah Saya Boleh Mengesahkan Kekunci Hos Dengan Selamat Apabila Menggunakan pysftp?

Patricia Arquette
Lepaskan: 2024-12-12 18:15:11
asal
913 orang telah melayarinya

How Can I Verify Host Keys Securely When Using pysftp?

Sahkan Kunci Hos dengan pysftp

Apabila menggunakan pysftp untuk mewujudkan sambungan SSH, adalah penting untuk mengesahkan kunci hos pelayan terhadap sumber yang dipercayai untuk memastikan komunikasi yang selamat. Secara lalai, pysftp cuba memuatkan kunci hos yang diketahui daripada fail '~/.ssh/known_hosts'. Walau bagaimanapun, jika kunci hos pelayan disimpan di lokasi yang berbeza, seperti pendaftaran yang digunakan oleh PuTTY, adalah penting untuk mendamaikan perbezaan ini.

Pilihan untuk Pengesahan Kunci Hos dalam pysftp

pysftp menyediakan beberapa pilihan untuk menguruskan kunci hos pengesahan:

  • Muat Kekunci Hos daripada Fail:

    • Tentukan laluan ke fail known_hosts menggunakan atribut cnopts.knownhosts. Ini akan memuatkan kunci hos daripada fail yang ditentukan.
  • Gunakan Kekunci Hos Tersuai:

    • Buat objek HostKeys dan tambah kunci hos yang dijangka menggunakan kaedah add(). Ini membolehkan anda menentukan kunci hos secara manual untuk disahkan.
  • Lumpuhkan Pengesahan Kunci Hos:

    • Tetapkan cnopts .hostkeys to None untuk melumpuhkan pengesahan kunci hos. Walau bagaimanapun, ini tidak disyorkan kerana ia menjejaskan keselamatan.

Pendekatan Disyorkan

Untuk mengekalkan keselamatan dan memastikan pengesahan kunci hos yang betul, sebaiknya memuatkan kunci hos yang diketahui daripada sumber yang dipercayai. Jika kunci hos disimpan dalam registri, pertimbangkan untuk menggunakan alat seperti ssh-keyscan untuk mendapatkan semula maklumat yang diperlukan dan menyimpannya dalam format yang sesuai.

Contoh Kod

Berikut ialah contoh yang menunjukkan penggunaan kunci hos tersuai:

import pysftp as sftp

cnopts = pysftp.CnOpts()
host_key = paramiko.RSAKey(data=b'YOUR_HOST_KEY')  # Replace with the server's host key
cnopts.hostkeys.add('my_server.com', 'ssh-rsa', host_key)

with sftp.Connection('my_server.com', username='root', password='*********', cnopts=cnopts) as sftp:
    # Perform file transfer operations, etc.
Salin selepas log masuk

Dengan mengendalikan kunci hos dengan berhati-hati pengesahan, anda boleh mewujudkan sambungan SSH selamat dan menghalang serangan lelaki di tengah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Kekunci Hos Dengan Selamat Apabila Menggunakan pysftp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan