

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 輪換伺服器主機金鑰
<a name="server-host-key-rotate"></a>

您可以定期輪換伺服器主機金鑰。本主題說明伺服器如何選擇要套用的金鑰，以及輪換這些金鑰的程序。

## 用戶端如何選擇伺服器主機金鑰
<a name="server-key-behavior"></a>

Transfer Family 選擇要套用的伺服器金鑰取決於 SFTP 用戶端的條件，如此處所述。假設有一個較舊的金鑰和一個較新的金鑰。
+ SFTP 用戶端沒有該伺服器的先前公有主機金鑰。用戶端第一次連線到伺服器時，會發生下列任一情況：
  + 如果設定連線，用戶端會失敗。
  + 或者，用戶端會選擇第一個符合可用演算法的金鑰，並詢問使用者是否可以信任該金鑰。若是如此，用戶端會自動更新`known_hosts`檔案 （或用戶端用來記錄信任決策的任何本機組態檔案或資源），並輸入該金鑰。
+ SFTP 用戶端的`known_hosts`檔案中有較舊的金鑰。即使存在較新的金鑰，用戶端也偏好使用此金鑰，無論是針對此金鑰的演算法或其他演算法。這是因為用戶端對其`known_hosts`檔案中的金鑰具有更高層級的信任。
+ SFTP 用戶端在其金鑰檔案中具有新的`known_hosts`金鑰 （在任何可用的演算法中）。用戶端會忽略較舊的金鑰，因為它們不受信任並使用新的金鑰。
+ SFTP 用戶端的`known_hosts`檔案中有兩個金鑰。用戶端會依索引選擇符合伺服器所提供可用金鑰清單的第一個金鑰。

Transfer Family 偏好 SFTP 用戶端在其`known_hosts`檔案中擁有所有金鑰，因為這可在連線至 Transfer Family 伺服器時提供最大的彈性。金鑰輪換是根據同一 Transfer Family 伺服器的`known_hosts`檔案中可能存在多個項目。

## 輪換伺服器主機金鑰程序
<a name="server-key-rotate-procedure"></a>

例如，假設您已將下列一組伺服器主機金鑰新增至 Transfer Family 伺服器。


**伺服器主機金鑰**  

| 主機金鑰類型 | 新增至伺服器的日期 | 
| --- | --- | 
| RSA | 2020 年 4 月 1 日 | 
| ECDSA | 2020 年 2 月 1 日 | 
| ED25519 | 2019 年 12 月 1 日 | 
| RSA | 2019 年 10 月 1 日 | 
| ECDSA | 2019 年 6 月 1 日 | 
| ED25519 | 2019 年 3 月 1 日 | 

**輪換伺服器主機金鑰**

1. 新增伺服器主機金鑰。此程序說明於 [新增額外的伺服器主機金鑰](server-host-key-add.md)。

1. 刪除您先前新增之相同類型的一或多個主機金鑰。此程序說明於 [刪除伺服器主機金鑰](server-host-key-delete.md)。

1. 所有金鑰都可見，並且可以處於作用中狀態，具體取決於先前在 中所述的行為[用戶端如何選擇伺服器主機金鑰](#server-key-behavior)。