[server] www-data 사용자에게 scp / ssh 허용

Ubuntu 10.04.2를 사용하는 Amazon EC2에 있습니다.

내 웹 폴더는 www-data가 소유하므로 ssh 및 scp의 경우 www-data로 서버에 로그인 할 수 있기를 원합니다.

감사!

내 / etc / ssh / sshd_config에 줄을 추가해도 작동하지 않는 것 같습니다.

AllowUsers www-data



답변

데비안에서 우분투를 기반으로하는 www-data 사용자는 / bin / sh를 기본 쉘로 사용합니다. 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>

을 사용하여 www-data 사용자 설정 (home dir, shell 등)을 확인할 수 있습니다 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있고 유효한 홈 디렉토리 가 있는지 확인해야합니다 .

결국 이 질문에 대한 해결책을 시도해 볼 수도 있습니다 .


답변

scp에 대해 www-data로 로그인하면 시간이 낭비됩니다.

scp 명령의 경우 ssh2_scp_send파일 전송에 사용 하지 않는 이유는 간단하며 사용자 www-data의 add-ssh 또는 공개 키를 만들 필요가 없습니다.

예를 들어

ssh2_scp_send($connection, '/directory/filename', '/remotedirectory/filename', 0644);

작동해야합니다


답변