私のLAN(Debianサーバー、Windowsクライアント)はこのコードでrsync://プロトコルを使用します。
cwRsync\rsync.exe -avLP --force --append-verify rsync://rsync-usb@server/rsync-usb/* usb/
rsync://プロトコルを使用するデーモンモードのrsyncは暗号化を使用しないという内容を読んだので、インターネット経由でrsyncを使用するには暗号化を使用したいと思います。私はrsync://user@server/moduleのシンプルさが好きです。
私のサーバーへのアクセスを許可したくないので、ログインを許可するSSHユーザーを使用したくありません。
ログインがブロックされたユーザーを作成しました
rsyncssh:x:1001:1007:,,,:/tmp:/bin/false
SSHを介してrsync://プロトコルをトンネリングする方法はありますか?たとえば、plink.exe(パテリンク)とプライベートユーザーキーを使用しますか?
ベストアンサー1
私は頻繁に暗号化されたチャネルを生成するためにSSHポートトンネリングを使用します。rsync://
URLを使用しているため、リモートサーバーのTCPポート873でrsyncデーモンが実行されているとします。このポートは次のように転送できます。
ssh -N -L 873:localhost:873 rsyncssh@server
この-N
オプションは、有効なシェルがないため、セッションを切断するリモートコマンドの実行を防ぎます。 localhostの転送ポートを介してリモートサーバーに接続して、リモートサーバーと同期できるようになりました。つまり、前のコマンドを実行@server
します@localhost
。
SSHコマンドにオプションを追加してSSHをバックグラウンドに移動することもできます-f
。これは、接続を常に開いたままにしたい場合に便利です。利便性とセキュリティのために秘密鍵でログインすることをお勧めします。
リモートサーバーで実行されているrsyncデーモンがないman 5 rsyncd.conf
場合は1つを設定し、必要に応じてマニュアルを使用してください。