GNU/Linux >> Linux Esercitazione >  >> Linux

fai in modo che il server linux consenta rsync/scp/sftp ma non un accesso al terminale

Imposta la shell degli utenti su rssh. Dalla manpage:

rssh - shell protetta limitata che consente solo scp e/o sftp


Se hai solo bisogno di consentire rsync, gli sviluppatori di rsync forniscono il rrsync script per risolvere il tuo problema. È disponibile da qui:http://ftp.samba.org/pub/unpacked/rsync/support/rrsync

Devi solo aggiungere qualcosa di simile al tuo .authorized_keys file. Questo esempio consente la sola lettura (-ro ) accesso a /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...

Una spiegazione e un esempio più approfonditi sono disponibili qui:https://www.guyrutenberg.com/2014/01/14/restricting-ssh-access-to-rsync/

Aggiornamento:questo NON è SICURO per l'accesso in scrittura fino a quando questo bug non sarà risolto:https://bugzilla.samba.org/show_bug.cgi?id=11879

Finché questo bug persiste, usa rrsync solo in modalità di sola lettura (-ro).


Linux
  1. Consenti l'accesso root ssh sul server Linux Ubuntu 14.04

  2. Perché questo "durante la lettura" funziona in un terminale, ma non in uno script di shell?

  3. Modifica della shell predefinita in Linux

  4. `ssh <host>` è una shell di login, ma `ssh <host> <comando>` non lo è?

  5. Consenti SCP ma non l'accesso effettivo tramite SSH

Come configurare il server SFTP Chroot in Linux

Come creare un server CS:GO su VPS Linux

Utilizzo di Secure Shell (SSH) per l'accesso e Secure Copy (SCP) per il trasferimento dei dati su Linux

Guida per la configurazione del server SFTP in Linux

Che cos'è Login Shell in Linux?

Come creare un server Minecraft su distribuzioni Linux