リモートシェル接続経由の rsync: サーバーは挨拶ではなく rsync ログメッセージを送信します

リモートシェル接続経由の rsync: サーバーは挨拶ではなく rsync ログメッセージを送信します

Asustor NAS から Ubuntu サーバーへのリモート シェル接続を介して rsync を実行しようとしています。NAS からのコマンドは、Web インターフェイスから実行されるため変更できません。ただし、実行されているコマンドはわかっているので、手動でテストできますが、エラーが発生します。NAS から実行すると、次のようになります。

$ /usr/builtin/bin/rsync -e "/usr/bin/ssh -l ssh-user-on-my-server -p 12345" --progress -a --timeout=60 rsync://[email protected]:873/rsync-module
[email protected]'s password: 
rsync: server sent "2017/01/17 19:38:58 [6920] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)" rather than greeting
rsync error: error starting client-server protocol (code 5) at /asustor/branch2_6_2016_09_22/x64_g1/source/rsync-3.0.9/main.c(1649) [Receiver=3.0.9]

たまたま、上記のメッセージが rsyncd のログ形式とまったく同じであることに気付きました。これは、SSH を使用せずに NAS から Ubuntu サーバーに rsync を実行したときの rsyncd からの出力例です。

2017/01/06 23:42:13 [5979] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] rsync on rsync-module/ from [email protected] (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] building file list
2017/01/06 22:42:14 [5979] sent 172 bytes  received 24 bytes  total size

SSH と rsync の両方が単独で動作することを確認しましたが、この問題は、リモート シェル接続経由の rsync であるスクリプトを実行しようとした場合にのみ発生します。

これはよく似ているホスト IP を変更した後、ssh と root を使用した rsync が機能しないしかし、問題は からの挨拶メッセージでした.bashrc

答え1

答えは自分で見つけました。前述したように、rsync がエラーを出した出力は、rsync ログとまったく同じでした。問題は私の でしたrsyncd.conf。このプロジェクトは、rsync サービス用の docker を構築することから始めました。docker からのフィードバックを取得するために、構成ファイルに次の行を追加しました: log file = /dev/stdout。rsync デーモンは、ログを に直接出力しましたstdout

関連情報