設定はRSYNC_RSH
機能しませんが、--rsh
オプションは機能します。なぜ?
rsync
この--rsh
オプションを正しく使用してください。
$ rsync --rsh "echo" invalid invalid::invalid
rsync: server sent "invalid rsync --server --daemon ." rather than greeting
rsync error: error starting client-server protocol (code 5) at main.c(1657) [sender=3.1.3]
しかし、私はそれが同じ効果を持つと予想しましたが、RSYNC_RSH
そうではありません。
$ RSYNC_RSH=echo rsync invalid invalid::invalid
rsync: getaddrinfo: invalid 873: Name or service not known
rsync error: error in socket IO (code 10) at clientserver.c(127) [sender=3.1.3]
バージョン3.1.2-1+deb9u1および3.1.3-5.fc29.x86_64を試してみましたrsync
。
答え1
これは設計どおりに機能します。
rsync "デーモン"構文を使用していますhostname::module
。これを使用すると--rsh
(たとえば)リモートシェルを使用してサーバーに接続しますが、これをssh
使用するとrsyncd.conf
。いいえ --rsh
これは、TCPポート873でrsyncサーバーへの暗号化されていないネットワーク接続を確立しようとします。
設定のRSYNC_RSH
ため、rsync "デーモン"構文はリモートシェルを使用しません。
RSYNC_RSH
「環境変数」です。環境全体に合うように設計されています。必要に応じてrsyncが使用するリモートシェルを変更します。いいえrsync "デーモン"構文を使用してください。これはいくつかのリモートシェルがあった以前は役に立ちました。