Answers:
在Ubuntu所基于的Debian上,www-data用户将/ bin / sh作为默认shell。要启用SFTP,您可以在其中创建/var/www/.ssh/authorized_keys
公共密钥。的权限/var/www/.ssh
应为700,授权的密钥文件的权限应为600。您需要将以下内容添加到http配置中,以禁止访问此目录。
<Directory /var/www/.ssh>
Order Deny,Allow
Deny from all
</Directory>
您可以使用验证www-data用户设置(主目录,shell等)getent passwd www-data
。
确保您的sshd_config具有Subsystem sftp /usr/lib/openssh/sftp-server
,并且您可能还要进行设置PasswordAuthentication no
。
这是一种不安全感。我建议您使用其他用户上载到中间区域,cron
并不时运行作业以将内容移动到其所记录的位置并相应地更改其权限。
如果您确实坚持以as身份登录www-data
,则必须使用ssh私钥进行此操作(AFAIK EC2实例仅允许进行密钥身份验证)。您还必须检查是否www-data
具有有效的外壳程序/etc/passwd
和有效的主目录。
最后,您还可以尝试此问题的一些解决方案。