使用pysftp 驗證主機金鑰
使用pysftp 建立SSH 連線時,必須根據可信任來源驗證伺服器的主機金鑰以確保伺服器的主機金鑰以確保安全通訊。預設情況下,pysftp 嘗試從「~/.ssh/known_hosts」檔案載入已知主機金鑰。但是,如果伺服器的主機金鑰儲存在不同的位置,例如 PuTTY 使用的註冊表,則協調這種差異至關重要。
pysftp 中的主機金鑰驗證選項
pysftp提供了多種管理主機金鑰的選項驗證:
從檔案載入主機金鑰:
使用自訂主機金鑰:
停用主機金鑰驗證:
推薦方法
為了維護安全並確保正確的主機金鑰驗證,最好從可信任來源載入已知的主機密鑰。如果主機金鑰儲存在登錄中,請考慮使用 ssh-keyscan 等工具來檢索必要的資訊並以適當的格式儲存它。
範例程式碼
以下是示範自訂主機金鑰的使用的範例:
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.
透過仔細處理主機金鑰驗證,您可以建立安全的主機金鑰驗證。 SSH 連接並防止中間人攻擊。
以上是使用pysftp時如何安全地驗證主機金鑰?的詳細內容。更多資訊請關注PHP中文網其他相關文章!