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

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ć .


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 .


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ć

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.