Permitir scp / ssh para o usuário de www-data

10

Estou no Amazon EC2 usando o Ubuntu 10.04.2

Minha pasta web é de propriedade de www-data, portanto, quero fazer login no meu servidor como www-data para ssh e scp.

Obrigado!

Adicionar a linha ao meu / etc / ssh / sshd_config parece não funcionar.

AllowUsers www-data
    
por ambiguousmouse 18.04.2011 / 01:11

3 respostas

6

No Debian, no qual o Ubuntu é baseado, o usuário www-data tem / bin / sh como o shell padrão. Para ativar o SFTP, você pode criar /var/www/.ssh/authorized_keys com sua chave pública. As permissões em /var/www/.ssh devem ser 700 e as permissões no arquivo authorized_keys devem ser 600. Você deseja adicionar o seguinte à sua configuração http para proibir o acesso a esse diretório.

<Directory /var/www/.ssh>
  Order Deny,Allow
  Deny from all
</Directory>

Você pode verificar as configurações dos usuários do www-data (home dir, shell, etc) usando getent passwd www-data .

Verifique se o seu sshd_config tem Subsystem sftp /usr/lib/openssh/sftp-server , e você provavelmente desejará definir PasswordAuthentication no também.

    
por 18.04.2011 / 04:05
2

Isso é meio inseguro. Eu sugiro que você faça o upload para uma área intermediária usando outro usuário e execute um trabalho cron de tempos em tempos para mover as coisas onde elas se encaixam e alterar suas permissões de acordo.

Se você realmente insistir em fazer logon como www-data , deverá usar uma chave privada ssh para fazer isso (as instâncias do AFAIK EC2 só permitem autenticação de chave). Você também deve verificar se www-data tem um shell válido em /etc/passwd e um diretório inicial válido.

No final, você também pode tentar algumas soluções de esta questão .

    
por 18.04.2011 / 01:31
-3

Fazer login como www-data para scp é perda de tempo.

Para o comando scp porque você não usa ssh2_scp_send para transferir arquivos, é simples e não precisa de você para adicionar ssh ou criar uma chave pública para o usuário www-data

por exemplo

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

deve funcionar

    
por 03.07.2012 / 10:28