Izinkan scp / ssh untuk pengguna data-www

11

Saya menggunakan Amazon EC2 menggunakan Ubuntu 10.04.2

Folder web saya dimiliki oleh www-data sehingga saya ingin dapat masuk ke server saya sebagai www-data untuk ssh dan scp.

Terima kasih!

Menambahkan baris ke / etc / ssh / sshd_config saya sepertinya tidak berfungsi.

AllowUsers www-data
Ambiguousmouse
sumber

Jawaban:

6

Pada Debian, yang menjadi dasar Ubuntu, pengguna www-data memiliki / bin / sh sebagai shell default. Untuk mengaktifkan SFTP, Anda dapat membuat /var/www/.ssh/authorized_keysdengan kunci publik Anda di dalamnya. Izin pada /var/www/.sshharus 700, dan izin pada file Authorized_key harus 600. Anda ingin menambahkan berikut ini ke konfigurasi http Anda untuk melarang akses ke direktori ini.

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

Anda dapat memverifikasi pengaturan pengguna data-www (dir home, shell, dll) menggunakan getent passwd www-data.

Pastikan sshd_config Anda telah Subsystem sftp /usr/lib/openssh/sftp-server, dan Anda mungkin ingin mengaturnya PasswordAuthentication nojuga.

slillibri
sumber
2

Ini agak tidak aman. Saya akan menyarankan Anda untuk mengunggah ke area perantara menggunakan pengguna lain dan menjalankan cronpekerjaan dari waktu ke waktu untuk memindahkan barang-barang di mana ia belogs dan mengubah izinnya sesuai.

Jika Anda benar-benar bersikeras untuk masuk www-data, Anda harus menggunakan kunci privat ssh untuk melakukan itu (instance AFAIK EC2 hanya membolehkan otentikasi kunci). Anda juga harus memeriksa yang www-datamemiliki shell yang valid /etc/passwddan dir home yang valid.

Pada akhirnya, Anda juga dapat mencoba beberapa solusi dari pertanyaan ini .

coredump
sumber
Saya berencana menggunakan kunci pribadi ssh untuk melakukan itu. Tetapi jika saya menggunakan cron untuk menyalin file, bukankah akan sedikit lambat karena saya harus menunggu skrip cron untuk menyalinnya. Juga, saya tidak akan dapat mengunggah file. Yang benar-benar saya inginkan adalah sesuatu seperti FTP untuk www-data tetapi aman seperti scp.
ambiguousmouse
Solusi lain yang saya berikan layak, saya hanya tidak suka ide itu.
coredump
-3

Masuk sebagai www-data untuk scp adalah buang-buang waktu.

Untuk perintah scp mengapa Anda tidak menggunakannya ssh2_scp_senduntuk mentransfer file, itu sederhana dan Anda tidak perlu menambahkan-ssh atau membuat kunci publik untuk data-pengguna www.

sebagai contoh

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

harus bekerja

Misteri
sumber