安全でないネットワークを介してサーバー間で安全なrsyncを実行する方法


19

基本的に私が求めているのは、誰かがsshの中にrsyncをラップする手段に出くわしたことです。

OpenSSH v4.9 +では、sftpには着信接続などをchrootできるいくつかの素晴らしいオプションがあります-それは私が見ているソリューションですが、RHELに固執していますが、RHEL4もRHEL5もそのバージョンまではありませんssh。

私の現在の解決策は、クライアントユーザーのキーを使用してこのようなものをサーバー側に追加することです...

server%cat〜/ .ssh / authorized_keys
command = "cd / srv / rsync / etl && tar --exclude './lost+found' -pcf-./" ssh-rsa ...

...したがって、クライアントは1つのことと1つのことだけに制限されます...

client%ssh -T -i $ {HOME} /。ssh / id_rsa oracle@database.com> sensative.tar

これにより、接続とサーバー(クライアントから)が保護されますが、すべてのファイルが何度も取得されるため、非効率的です。

私はrsyncを使用して同様の(またはちょうど良い)ことをした後です。

回答:


18

Rsyncはトランスポートとしてsshの使用をサポートします

rsync -az /path/to/source username@host:/path/to/destination

rsyncの一部の古いバージョンでは、sshを明示的に指定する必要があります

rsync -aze ssh /path/to/source host:/path/to/destination

rsyncを使用する代わりにBC PierceのUnisonがあります。これはrsyncと同様の機能を備えていますが、デルタを計算するためにファイルシステムを歩く必要を回避するために両端にローカルインデックスを保持します


速やかなご返信ありがとうございます!私もそれを調査したことを述べておかなければなりません-それに関する問題(私の場合)は、ユーザーを制限/ chrootしないということです。ssh経由でrsyncサービスと通信できる場合(つまり、リモートを定義するダブルコロン構文を使用)-それは完璧でしょう-しかし、上記はシングルコロンでのみ動作します-すなわちssh経由で、したがってchrootなし。
Xerxes

言及するのを忘れました-Unisonは見栄えがよく、リンクを保持します-ただし、この場合-RHNが提供するもの以外のものをインストールすることはできません。
クセルクセス

さらに別の制​​限は、接続はクライアントから開始する必要があるということです。サーバーではなく、<i>プル</ i>側です。(クライアント側には発言権がないので、サーバー側のプッシュは当然サーバーを保護するのは簡単ですが、私の現在の問題には当てはまりません)。
クセルクセス

1
rsync -az server:/ path / path / on / client?
デイブチェイニー

1
なぜchrootなのか?chrootがセキュリティをそれほど向上させないことを知っています。さらに、すでにsshを提供している場合、rsh over sshはシステムの安全性を低下させません。また、rsh over sshが行うことは、サーバーでrsyncバイナリを呼び出すことだと考えてください。これは、コピーコマンドを保護するのと同じ方法で保護できます。
ポール・ド・フリーズ2009年

5

さて、私はついにこれを理解しましたが、解決策は私が望んでいたほどエレガントではありません。

サーバー側で、関連するユーザーのauthorized_keysファイルに次を追加する必要があります...

no-pty, command="exit"

クライアントで、次のようにトンネルを作成できます...

ssh -l username -fNTL 8073:server:873

トンネルが確立されたら、通常どおりにrsyncできます-ダブルコロン構文を使用することはできません-localhostに。

選択したローカルホストのポート番号(8073)は明らかに完全にオプションであり、rsync する必要があることを覚えておいてください...

rsync --port=8073 -a user@localhost::mySecureStore /srv/some/place/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.