あるコンピューターから別のコンピューターにファイルを安全にコピーしたいのですが、他のコンピューターは信頼されておらず、コンピューターの所有者に指示を与える以外に直接アクセスすることはできません。それに加えて、これは1回限りの状況なので、面倒な設定は避けてください。最も簡単で移植性の高い方法は何でしょうか?
私が考えているのは、次のワークフローを備えたプログラムです。
ファイルを持つホストは、パスワードで保護されたファイルを使用可能にする仮想コマンドを発行します。
file-offer -p PASSWORD file1 file2 file3 directory
もう1つは、ファイルを受け取るためのパスワード付きの仮想コマンドです(ファイルを選択するためのGUIも歓迎します)。
file-receive -p PASSWORD file2
私が今持っている最も近いものはこのハックです。これは動作しますが、あまり快適ではなく、Windowsユーザーにいくつかの問題を与えます。
tar cf - [files]... | gpg -c --passphrase PASSWORD | nc -l -p 6666
nc host1 6666 | gpg --passphrase PASSWORD | tar xf - [files]...
さらにいくつかの注意事項:
- どちらのユーザーにもルートアクセス権がない(したがって、ポートにアクセスするサーバーは1024未満ではない)
- ファイルを使用可能にする前にファイルをコピーすることは避けてください(つまりno
cp files /var/www/
) - ssh / scpは、一方のホストのパスワードを他方に与える必要があるため機能しません。
- rsyncd.confでrsyncを使用することはほとんど機能しますが、セットアップが面倒で、単一のファイルを共有する方法を提供せず、ディレクトリのみを共有します。
- 単一のコマンドラインで起動および設定できるftp / httpサーバーが機能します。暗号化のhttpsサポートは歓迎されるだけでなく、ディレクトリだけでなく単一のファイルを共有する方法もあります。これらの基準に合うサーバーは知りません
- 他のホストはネットワーク経由でのみ使用できるため、USBはオプションではありません
- ファイルアップロードサービスもオプションではありません(ファイルサイズの制限、信頼できないサードパーティへのアップロード、ユーザーはインターネット上ではなくLAN上など)