Unter Debian, auf dem Ubuntu basiert, hat der Benutzer von www-data / bin / sh als Standard-Shell. Um SFTP zu aktivieren, können Sie /var/www/.ssh/authorized_keys
mit Ihrem öffentlichen Schlüssel darin erstellen . Die Berechtigungen für /var/www/.ssh
sollten 700 und die Berechtigungen für die Datei authorized_keys 600 sein. Sie sollten Ihrer http-Konfiguration Folgendes hinzufügen, um den Zugriff auf dieses Verzeichnis zu verhindern.
<Directory /var/www/.ssh>
Order Deny,Allow
Deny from all
</Directory>
Sie können die Einstellungen der Benutzer von www-data (Ausgangsverzeichnis, Shell usw.) mit überprüfen getent passwd www-data
.
Stellen Sie sicher, dass Ihre sshd_config hat Subsystem sftp /usr/lib/openssh/sftp-server
, und Sie möchten wahrscheinlich auch festlegen PasswordAuthentication no
.
Das Anmelden als WWW-Daten für SCP ist Zeitverschwendung.
Für den Befehl scp, warum Sie ihn nicht
ssh2_scp_send
zum Übertragen von Dateien verwenden, ist er einfach und erfordert nicht, dass Sie-ssh hinzufügen oder einen öffentlichen Schlüssel für den Benutzer www-data erstellenbeispielsweise
ssh2_scp_send($connection, '/directory/filename', '/remotedirectory/filename', 0644);
sollte arbeiten
quelle