ホームページ >バックエンド開発 >Python チュートリアル >pysftp または Paramiko を使用するときに SSH ホスト キーを適切に検証するにはどうすればよいですか?
pysftp を使用したホスト キーの検証
この記事では、pysftp を使用して SSH ホスト キーを known_hosts ファイルに対して検証するときに直面する問題について説明します。元のエラーは、pysftp が指定された場所でホスト キーを見つけられないために発生します。
pysftp の放棄と Paramiko の代替使用
pysftp ライブラリには、次のような既知のバグがあります。ホストキーの処理に問題があるため、代わりに Paramiko を直接使用することをお勧めします。 Paramiko は、ホスト キー検証を含む、SSH 接続用の堅牢で十分にサポートされた API を提供します。
Paramiko によるホスト キーの管理
Paramiko により、ホストをきめ細かく制御できますCnOpts クラスを使用したキー管理。 cnopts.hostkeys を設定すると、信頼できるホスト キーを管理し、ターゲット ホストに必要なキーをライブラリに提供できます。
既知のホスト ファイルからのホスト キーのロード (推奨)
最も安全なアプローチは、信頼できるホストの公開キーを含む既知のホスト ファイルを使用することです。このファイルは通常、Unix システムでは ~/.ssh/known_hosts にあります。 CnOpts クラスは、このファイルからホスト キーをロードするための便利なメソッドを提供します。
ホスト キーを手動で追加する (推奨されません)
安全性の低い代替手段として、次のように追加できます。 HostKeys クラスを使用して手動でホストキーを作成します。これには、既知のホスト ファイルからホスト キーを抽出するか、SSH を使用してサーバーからホスト キーを直接取得する必要があります。
リモート ホスト キーの取得に ssh-keyscan ユーティリティを使用する
ssh-keyscan ユーティリティを使用すると、リモート サーバーのホスト キーを必要な形式で取得できます。ただし、サーバーが標準以外のポートを使用している場合、このアプローチは機能しないことに注意してください。
AutoAddPolicy による自動ホスト キー追加 (注意)
pysftp が必要な場合新しいホストのホスト キーを known_hosts に自動的に追加するには、AutoAddPolicy クラスを使用します。ただし、信頼を確立する前に慎重にホスト キーを個別に検証することが重要です。
指紋検証のためのホスト キーの指紋の取得
絶対的なセキュリティを確保するには、これをお勧めします。ホストキーのフィンガープリントを手動で取得し、リモートの取得に頼るのではなく、直接検証します。
以上がpysftp または Paramiko を使用するときに SSH ホスト キーを適切に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。