Autoriser scp / ssh pour l'utilisateur www-data

11

Je suis sur Amazon EC2 avec Ubuntu 10.04.2

Mon dossier Web appartient à www-data, donc je veux pouvoir me connecter à mon serveur en tant que www-data pour ssh et scp.

Merci!

L'ajout de la ligne à mon / etc / ssh / sshd_config ne semble pas fonctionner.

AllowUsers www-data
souris ambiguë
la source

Réponses:

6

Sur Debian, sur lequel Ubuntu est basé, l'utilisateur www-data a / bin / sh comme shell par défaut. Pour activer SFTP, vous pouvez créer /var/www/.ssh/authorized_keysavec votre clé publique dedans. Les autorisations sur /var/www/.sshdoivent être 700 et les autorisations sur le fichier authorized_keys doivent être 600. Vous souhaiterez ajouter ce qui suit à votre configuration http pour interdire l'accès à ce répertoire.

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

Vous pouvez vérifier les paramètres des utilisateurs www-data (répertoire personnel, shell, etc.) à l'aide de getent passwd www-data.

Assurez-vous que votre sshd_config l'a fait Subsystem sftp /usr/lib/openssh/sftp-server, et vous voudrez probablement le définir PasswordAuthentication noégalement.

slillibri
la source
2

C'est une sorte d'insécurité. Je vous suggère de télécharger vers une zone intermédiaire en utilisant un autre utilisateur et d'exécuter un crontravail de temps en temps pour déplacer des éléments là où il se trouve et modifier ses autorisations en conséquence.

Si vous insistez vraiment pour vous connecter en tant que www-data, vous devez utiliser une clé privée ssh pour ce faire (les instances AFAIK EC2 n'autorisent que l'authentification par clé). Vous devez également vérifier qu'il www-dataa un shell valide /etc/passwdet un répertoire home valide.

En fin de compte, vous pouvez également essayer quelques solutions à cette question .

coredump
la source
J'avais l'intention d'utiliser une clé privée ssh pour ce faire. Mais si j'utilise cron pour copier les fichiers, ce ne serait pas un peu lent car je devrais attendre que le script cron le recopie. De plus, je ne pourrais pas télécharger de fichiers. Ce que je veux vraiment, c'est quelque chose comme FTP pour www-data mais sécurisé comme scp.
ambiguousmouse
Les autres solutions que je donne sont réalisables, je n'aime pas l'idée.
coredump
-3

Se connecter en tant que www-data pour scp est une perte de temps.

Pour la commande scp pourquoi vous n'utilisez pas ssh2_scp_sendpour transférer des fichiers, elle est simple et n'a pas besoin de vous pour ajouter-ssh ou créer une clé publique pour l'utilisateur www-data

par exemple

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

devrait marcher

mystère
la source