AWS Transfer Family SFTP 対応サーバーを作成しました。その後、サーバーユーザーを作成し、そのユーザーにパブリックキーを追加しました。けれども、ユーザーが WinSCP を使用してサーバーに接続すると、「Cannot initialize SFTP Protocol.ホストは SFTP サーバーを実行していますか?」というエラーメッセージが表示されます。 どうすれば解決できますか?
注: このエラーメッセージは SFTP クライアントによって異なります。例えば、Cyberduck を使用している場合は、「パケットの読み取り中の EOF。ウェブホスティングサービスプロバイダーにお問い合わせください。」というエラーが表示されます。 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"
}
]
}