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);
작동해야합니다