我在亚马逊EC2上使用Ubuntu10.04.2
我的网页文件夹属于www-data,所以我希望能够以ssh和scp的www-data身份登录到我的服务器。
谢谢!
将该行添加到我的/etc/ssh/sshd_config似乎不起作用。
AllowUsers www-data发布于 2011-04-18 02:05:09
在Debian ( Ubuntu所基于的)上,www-data用户将/bin/sh作为默认shell。要启用SFTP,您可以使用其中的公钥创建/var/www/.ssh/authorized_keys。对/var/www/.ssh的权限应该是700,对authorized_keys文件的权限应该是600。您需要将以下内容添加到您的http配置中,以禁止访问此目录。
<Directory /var/www/.ssh>
Order Deny,Allow
Deny from all
</Directory>您可以使用getent passwd www-data验证www-数据用户设置(home dir、shell等)。
确保您的sshd_config有Subsystem sftp /usr/lib/openssh/sftp-server,并且您可能也希望设置PasswordAuthentication no。
发布于 2011-04-17 23:31:30
这有点不安全。我建议您使用另一个用户上传到一个中间区域,并不时运行一个cron作业,将内容移动到中间区域,并相应地更改其权限。
如果您确实坚持以www-data身份登录,则必须使用ssh私钥( EC2实例只允许密钥身份验证)。您还必须检查www-data是否在/etc/passwd上有一个有效的shell和一个有效的home dir。
最后,您还可以尝试一些这个问题的解决方案。
发布于 2012-07-03 08:28:30
作为scp的数据登录是浪费时间。
对于没有使用ssh2_scp_send传输文件的scp命令,它很简单,不需要您为用户添加-ssh或创建一个公钥。
例如
ssh2_scp_send($connection, '/directory/filename', '/remotedirectory/filename', 0644);
应起作用
https://serverfault.com/questions/260756
复制相似问题