Cho phép scp / ssh cho người dùng dữ liệu www


11

Tôi đang sử dụng Amazon EC2 bằng Ubuntu 10.04.2

Thư mục web của tôi được sở hữu bởi dữ liệu www, vì vậy tôi muốn có thể đăng nhập vào máy chủ của mình dưới dạng dữ liệu www cho ssh và scp.

Cảm ơn!

Thêm dòng vào / etc / ssh / sshd_config dường như không hoạt động.

AllowUsers www-data

Câu trả lời:


6

Trên Debian, dựa trên Ubuntu, người dùng dữ liệu www có / bin / sh làm vỏ mặc định. Để bật SFTP, bạn có thể tạo /var/www/.ssh/authorized_keysvới khóa công khai trong đó. Các quyền trên /var/www/.sshphải là 700 và các quyền trên tệp ủy quyền phải là 600. Bạn sẽ muốn thêm các điều sau vào cấu hình http của mình để cấm truy cập vào thư mục này.

<Directory /var/www/.ssh>
  Order Deny,Allow
  Deny from all
</Directory>

Bạn có thể xác minh cài đặt người dùng dữ liệu www (thư mục chính, shell, v.v.) bằng cách sử dụng getent passwd www-data.

Đảm bảo sshd_config của bạn có Subsystem sftp /usr/lib/openssh/sftp-servervà có thể bạn cũng muốn đặt PasswordAuthentication no.


2

Đây là loại không an toàn. Tôi sẽ đề nghị bạn tải lên một khu vực trung gian bằng cách sử dụng một người dùng khác và cronthỉnh thoảng thực hiện một công việc để di chuyển công cụ nơi nó tin tưởng và thay đổi quyền của nó cho phù hợp.

Nếu bạn thực sự khăng khăng đăng nhập với tư cách www-data, bạn phải sử dụng khóa riêng ssh để làm điều đó (phiên bản AFAIK EC2 chỉ cho phép xác thực khóa). Bạn cũng phải kiểm tra xem www-datacó một vỏ hợp lệ trên /etc/passwdvà một thư mục nhà hợp lệ.

Cuối cùng, bạn cũng có thể thử một số giải pháp của câu hỏi này .


Tôi đã lên kế hoạch sử dụng khóa riêng ssh để làm điều đó. Nhưng nếu tôi sử dụng cron để sao chép các tập tin, nó sẽ không chậm một chút vì tôi sẽ phải chờ tập lệnh cron sao chép nó. Ngoài ra, tôi sẽ không thể tải lên các tập tin. Những gì tôi thực sự muốn là một cái gì đó giống như FTP cho dữ liệu www nhưng an toàn như scp.
mơ hồ

Các giải pháp khác tôi đưa ra là khả thi, tôi chỉ không thích ý tưởng đó.
coredump

-3

Đăng nhập dưới dạng dữ liệu www cho scp là lãng phí thời gian.

Đối với lệnh scp tại sao bạn không sử dụng ssh2_scp_sendđể truyền tệp, nó đơn giản và không cần bạn thêm-ssh hoặc tạo khóa chung cho dữ liệu www của người dùng

ví dụ

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

nên làm việc

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.