回答:
UbuntuのベースとなっているDebianでは、www-dataユーザーはデフォルトのシェルとして/ bin / shを持っています。SFTPを有効にするには、その中に/var/www/.ssh/authorized_keys公開鍵を作成します。のアクセス許可は/var/www/.ssh700であり、authorized_keysファイルのアクセス許可は600である必要があります。このディレクトリへのアクセスを禁止するには、http構成に以下を追加します。
<Directory /var/www/.ssh>
Order Deny,Allow
Deny from all
</Directory>
を使用して、www-dataのユーザー設定(ホームディレクトリ、シェルなど)を確認できますgetent passwd www-data。
sshd_configにがSubsystem sftp /usr/lib/openssh/sftp-server設定されていることを確認してください。おそらく設定PasswordAuthentication noも必要でしょう。
これは一種の安全ではありません。別のユーザーを使用して中間領域にアップロードし、cron時々ジョブを実行して、物を移動する場所に移動し、それに応じて権限を変更することをお勧めします。
本当にとしてログオンすることを主張する場合www-dataは、ssh秘密鍵を使用してそれを行う必要があります(AFAIK EC2インスタンスでは、鍵認証のみが許可されます)。またwww-data、有効なシェル/etc/passwdと有効なホームディレクトリがあることを確認する必要があります。
最後に、この質問のいくつかの解決策を試すこともできます。