サーバーからコピーするときはいつも次のコマンドを使用していました:rsync --progress -avze ssh user@Host:/path/to/files ./here
。しかし、心の友から、私は単純にrsync --progress -avz user@Host:/path/to/files ./here
。だから問題は、もしあなたが-e ssh
なぜとにかくあるのですか?
ユーザーおよびホスト以外のsshコマンドに追加のオプションが必要な場合は常に、-eフラグが必要です。おそらく、接続しているサーバーのsshがポート2222で待機している可能性があります。
rsync -e 'ssh -p 2222' /source usr@Host:/dest
これを回避する代わりに、使用できるファイルが2つあります。 /etc/ssh/ssh_config
または~/.ssh/config
構成ファイルは、ssh_config
と同じ形式を使用します。ユーザーごとに構成できます!
デフォルト以外の秘密鍵の場所を使用する場合、つまり-e
も必要です。つまり、-e 'ssh -i /path/to/private/key/file.pem'
を使用して秘密鍵を指定します。さらに言えば、sshdのデフォルト以外の待機ポートも同様です。基本的に、-e
を使用しても機能しない場合は、ssh user@Host
を使用します。
Sshを使用するために-e sshは必要ありません。実際、ターゲットをuser @ Host:/ path/to/filesと指定すると、デフォルトでsshが使用されます。これは、a)互換性の理由、およびb)rsyncdホストとsshホストの組み合わせがある可能性のある周辺のケースに残されています。
これは、コンパイル時に_--with-rsh
_構成オプションに指定された内容によって異なります。このオプションが指定されなかった場合のデフォルトはsshです。過去のある時点ではrshでしたが、rshであっても、多くのボックスでsshがデフォルトのrsh実装である可能性があるため、必要ない場合があります。私のすべてのマシン、たとえばreadlink -f $(which rsh)
は、rshが/ usr/sbin/sshを指すシンボリックリンクであることを示しています