Paramiko「未知伺服器」:故障排除與解決方案
嘗試使用Paramiko 建立SSH 連線時,使用者可能會遇到「未知伺服器」如下所示的異常:
paramiko.SSHException: Unknown server 127.0.0.1
當伺服器的主機金鑰為帕拉米科不認識。若要解決此問題,需要將 SSHClient 物件的 Missing_host_key_policy 屬性設定為適當的值。
預設情況下,Paramiko 的策略是拒絕所有未知伺服器,確保僅與已知且可信任的主機建立連線。若要覆寫此行為,可以使用下列程式碼:
client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
AutoAddPolicy 指示 Paramiko 自動將伺服器的主機金鑰新增至已知主機清單中,使其成為未來連線的可信任物件。或者,可以指定不同的策略或根據特定要求編寫自己的實作。
設定適當的策略後,可以建立與未知伺服器的連接,而不會遇到「未知伺服器」異常。此外,可以使用 SSHClient 物件的 get_host_keys() 和 save() 方法將主機新增至受信任的主機清單。這允許保存和加載主機以供後續使用。
透過了解missing_host_key_policy的作用並使用AutoAddPolicy或自訂實現,開發人員可以有效地處理未知伺服器並使用Paramiko建立安全的SSH連線。
以上是Paramiko「未知伺服器」錯誤:如何解決 SSH 連線問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!