Zezwól scp / ssh dla użytkownika danych www

11

Jestem na Amazon EC2 przy użyciu Ubuntu 10.04.2

Mój folder internetowy jest własnością www-data, więc chcę mieć możliwość zalogowania się na moim serwerze jako www-data dla ssh i scp.

Dzięki!

Dodanie linii do mojego / etc / ssh / sshd_config nie wydaje się działać.

AllowUsers www-data
niejednoznaczna myszka
źródło

Odpowiedzi:

6

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_keysklucz publiczny w nim. Uprawnienia /var/www/.sshpowinny 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 norównież ustawić .

slillibri
źródło
2

To jest trochę niepewne. Proponuję Ci przesłać do obszaru pośredniego za pomocą innego użytkownika i cronod czasu do czasu uruchomić zadanie, aby przenieść rzeczy tam, gdzie się loguje i odpowiednio zmienić swoje uprawnienia.

Jeśli naprawdę nalegasz na zalogowanie się jako www-data, musisz do tego użyć klucza prywatnego ssh (instancje AFAIK EC2 zezwalają tylko na uwierzytelnianie klucza). Musisz również sprawdzić, czy www-datama prawidłową powłokę /etc/passwdi prawidłowy katalog domowy.

Na koniec możesz także wypróbować niektóre rozwiązania tego pytania .

rdzeń rdzeniowy
źródło
Planowałem użyć do tego prywatnego klucza ssh. Ale jeśli użyję crona do skopiowania plików, nie byłoby to trochę powolne, ponieważ musiałbym poczekać, aż skrypt cron go skopiuje. Ponadto nie byłbym w stanie przesyłać plików. To, czego naprawdę chcę, to coś w rodzaju FTP dla danych www, ale bezpieczne jak scp.
niejednoznaczny
Inne rozwiązania, które podaję, są wykonalne, nie podoba mi się ten pomysł.
rdzeń rdzeniowy
-3

Logowanie się jako dane www dla SCP to strata czasu.

Dla polecenia scp, dlaczego nie używasz ssh2_scp_senddo przesyłania plików, jest to proste i nie wymaga dodawania ssh ani tworzenia klucza publicznego dla danych www użytkownika

na przykład

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

powinno działać

zagadka
źródło