Na Debianie, na którym opiera się Ubuntu, użytkownik www-data ma / bin / sh jako domyślną powłokę. Aby włączyć SFTP, możesz utworzyć /var/www/.ssh/authorized_keys
klucz publiczny w nim. Uprawnienia /var/www/.ssh
powinny wynosić 700, a uprawnienia do pliku autoryzowanych_kluczy powinny wynosić 600. Będziesz chciał dodać następujące ustawienia do swojej konfiguracji http, aby zabronić dostępu do tego katalogu.
<Directory /var/www/.ssh>
Order Deny,Allow
Deny from all
</Directory>
Możesz zweryfikować ustawienia użytkowników danych www (katalog domowy, powłoka itp.) Za pomocą getent passwd www-data
.
Upewnij się, że twój sshd_config ma Subsystem sftp /usr/lib/openssh/sftp-server
, a prawdopodobnie będziesz chciał PasswordAuthentication no
również ustawić .
Logowanie się jako dane www dla SCP to strata czasu.
Dla polecenia scp, dlaczego nie używasz
ssh2_scp_send
do przesyłania plików, jest to proste i nie wymaga dodawania ssh ani tworzenia klucza publicznego dla danych www użytkownikana przykład
ssh2_scp_send($connection, '/directory/filename', '/remotedirectory/filename', 0644);
powinno działać
źródło