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

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.


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 .


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.