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_keys
avec votre clé publique dedans. Les autorisations sur /var/www/.ssh
doivent ê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.
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_send
pour 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-datapar exemple
ssh2_scp_send($connection, '/directory/filename', '/remotedirectory/filename', 0644);
devrait marcher
la source