web-dev-qa-db-ja.com

RSYNC overSSHが制限付きシェルで機能しない

X氏がファイルをサーバーにプッシュできるように、本番サーバーのX氏にアクセスを許可する必要があります。彼にシェルアクセスを許可する必要がないので、制限付きシェル(rssh)を使用して、彼がアクセスできない状態でファイルをサーバーにコピーすることしかできないようにすることにしました。ファイルは、SSH経由のRSYNCを使用して転送されます。

ファイルの転送に使用されているコマンドは

rsync -ua  -e 'ssh -p 55'  /appdata/paths/ 192.168.4.172:/home/example/ 

しかし、制限付きシェルを使用したSSH経由のrsyncは正常に機能していないようです

$ rsync -ua /appdata/paths/ -e 'ssh -p 565'
[email protected]:/home/example/
#################################################################################################################

 This service is restricted to authorized users only. All activities on this system     
 are logged.            ##
  ##   Unauthorized access will be fully investigated and reported to the appropriate     
 law enforcement agencies.  ##
  insecure -e option not allowed.
 This account is restricted by rssh.
 Allowed commands: scp rsync

  If you believe this is in error, please contact your system administrator.

  rsync: connection unexpectedly closed (0 bytes received so far) [sender]
  rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

scpで正常に動作していますが、問題はrsyncのみで発生します

2
Zama Ques

rrsyncを使用する必要があります(おそらく、システムでgzip圧縮されたものが利用可能です(例:/usr/share/doc/rsync/scripts/)そして、authorized_keysファイルの行をrsync用にそこにインストールされている公開鍵に関連付けます。

command="$HOME/bin/rrsync -ro ~/rsyncdir/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding

必要に応じて、詳細を確認できます ここ および ここ

4
Anthon