我建立了已啟用 AWS Transfer Family SFTP 的伺服器。然後,我建立了伺服器使用者,並將公有金鑰新增至該使用者。但是,當使用者使用 WinSCP 連線至伺服器時,收到如下錯誤訊息:「無法初始化 SFTP 通訊協定。主機是否正在執行 SFTP 伺服器?」 我該如何解決這個問題? 注意: 此錯誤訊息會因 SFTP 用戶端而異。例如,如果您使用的是 Cyberduck,則錯誤為「讀取封包時遇到 EOF。請聯絡 Web 託管服務供應商以尋求協助。」 如果您使用的是 OpenSSH,則錯誤為「結束狀態 1 (連線已關閉)。」
解決方法
當 AWS Transfer Family 伺服器的記錄角色設定不正確時,通常會發生此錯誤。若要解決此錯誤,請確認 AWS Transfer Family 服務有權擔任與伺服器相關聯的記錄角色。驗證記錄角色的信任政策是否允許主體 "Service": "transfer.amazonaws.com" 的 "Action": "sts:AssumeRole",類似於下列範例陳述式:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "transfer.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}