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 中国語 Web サイトの他の関連記事を参照してください。