問題:
pysftp を使用して SFTP 接続を確立すると、エラーが発生しますknown_hosts ファイルにホスト キーが欠落しているためです。ターミナル プログラムの Putty は、ホスト キーを Windows レジストリに保存しますが、これは pysftp の予期される場所とは異なります。
解決策:
pysftp のホスト キーの処理には既知の制限があります。ホスト キー管理の柔軟性が向上するため、Paramiko に直接移行することを検討してください。
pysftp ユーザーの場合は、ホスト キーの検証を無効にすることでセキュリティが損なわれるため、cnopts.hostkeys = None の設定は避けてください。
CnOpts.hostkeys を使用して、信頼できるホスト キーを管理します。サーバーの公開キーを含む known_hosts ファイルを指定するか、CnOpts を使用してキーを手動で追加します。
別の方法は、SSH の ssh-keyscan ツールを使用してホスト キーを取得し、それを known_hosts ファイルに追加することです。このアプローチは便利ですが、標準以外のサーバー ポートでは機能しないなどの制限があります。
セキュリティを強化するには、サーバー管理者などの信頼できるソースからホスト キーを取得して、攻撃者がホスト キーを傍受できないようにします。
指紋ベースのホスト キー検証が必要な場合は、pysftp または Paramiko を使用してそのような検証を実装するためのドキュメントを参照してください。
以上がpysftp を使用するときにホストキーを安全に検証する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。