GNU/Linux >> Belajar Linux >  >> Linux

buat server linux mengizinkan rsync/scp/sftp tetapi bukan login terminal

Setel shell pengguna ke rssh. Dari halaman manual:

rssh - shell aman terbatas yang hanya mengizinkan scp dan/atau sftp


Jika Anda hanya perlu mengizinkan rsync, pengembang rsync menyediakan rrsync skrip untuk menyelesaikan masalah Anda. Ini tersedia dari sini:http://ftp.samba.org/pub/unpacked/rsync/support/rrsync

Anda hanya perlu menambahkan sesuatu seperti ini ke .authorized_keys Anda mengajukan. Contoh ini memungkinkan hanya baca (-ro ) akses ke /some/directory/ :

command="/path/to/rrsync -ro /some/directory/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAA...

Penjelasan dan contoh selengkapnya tersedia di sini:https://www.guyrutenberg.com/2014/01/14/restricting-ssh-access-to-rsync/

Pembaruan:Ini TIDAK AMAN untuk akses tulis hingga bug ini diperbaiki:https://bugzilla.samba.org/show_bug.cgi?id=11879

Selama bug ini masih ada, harap gunakan rrsync hanya dalam mode hanya baca (-ro).


Linux
  1. Cara Setup Chroot SFTP di Linux (Izinkan Hanya SFTP, bukan SSH)

  2. Mengubah shell default di Linux

  3. Cara mengunggah file lokal ke server melalui terminal Linux

  1. `ssh <host>` adalah shell login, tetapi `ssh <host> <command>` bukan?

  2. Izinkan SCP tetapi bukan login yang sebenarnya menggunakan SSH

  3. Bagaimana cara mencegah pengguna masuk, tetapi izinkan su - pengguna di Linux?

  1. Izinkan login root ssh di server Linux Ubuntu 14.04

  2. Cara mengizinkan atau menolak login jarak jauh ke akun pengguna tertentu di server Linux

  3. Izinkan SFTP tetapi larang SSH?