「RSYNC_RSH」は動作しませんが、「--rsh」が動作するのはなぜですか?

「RSYNC_RSH」は動作しませんが、「--rsh」が動作するのはなぜですか?

設定は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 "デーモン"構文を使用してください。これはいくつかのリモートシェルがあった以前は役に立ちました。

おすすめ記事