ホームページ > バックエンド開発 > Python チュートリアル > pysftp を使用するときにホスト キーを安全に検証するにはどうすればよいですか?

pysftp を使用するときにホスト キーを安全に検証するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-12 18:15:11
オリジナル
894 人が閲覧しました

How Can I Verify Host Keys Securely When Using pysftp?

pysftp でホスト キーを検証する

pysftp を使用して SSH 接続を確立する場合、信頼できるソースに対してサーバーのホスト キーを検証することが不可欠です安全な通信を確保するために。デフォルトでは、pysftp は「~/.ssh/known_hosts」ファイルから既知のホスト鍵をロードしようとします。ただし、サーバーのホスト キーが別の場所 (PuTTY で使用されるレジストリなど) に保存されている場合は、この違いを調整することが重要です。

pysftp のホスト キー検証のオプション

pysftp はホストキーを管理するためのいくつかのオプションを提供します検証:

  • ファイルからホスト キーをロード:

    • cnopts.knownhosts 属性を使用して、known_hosts ファイルへのパスを指定します。これにより、指定されたファイルからホスト キーがロードされます。
  • カスタム ホスト キーを使用する:

    • HostKeys オブジェクトを作成し、 add() メソッドを使用して、予想されるホスト キーを追加します。これにより、検証するホスト キーを手動で指定できます。
  • ホスト キーの検証を無効にする:

    • Set cnopts .hostkeys を None に設定すると、ホスト キーの検証が無効になります。ただし、セキュリティが損なわれるため、これはお勧めできません。

推奨されるアプローチ

セキュリティを維持し、適切なホスト キーの検証を確保するには、信頼できるソースから既知のホスト キーをロードすることが最善です。ホストキーがレジストリに保存されている場合は、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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート