私のサーバーからラップトップにいくつかのファイルをダウンロードしたいと思います。問題は、この通信ができるだけプライベートで安全になりたいということです。これまで、私はラップトップのインターネットトラフィック全体をサーバーにリダイレクトできるようにVPNを使用する方法を考えてきました。さらに、ftpを使ってファイルを転送すると同時にWiresharkを見てみました。通信が暗号化されているようですが、ファイル自体も暗号化したいです(2段階のセキュリティなどで)。
私のサーバーはRaspbianを実行しているRasPiです。私のラップトップはMacBook Airです。
まず、Ras Piのファイルを暗号化してからダウンロードしたいと思います。どうすればいいですか?
答え1
openssl
暗号化と復号化にはキーベースの対称パスワードを使用できます。たとえば、
openssl enc -in foo.bar \
-aes-256-cbc \
-pass stdin > foo.bar.enc
これは256ビット暗号化を使用します(foo.bar
上記のようにstdoutをリダイレクトするのではなく、スイッチを使用して出力ファイルを指定できます)。foo.bar.enc
-out
AESパスワード入力カナダ放送公社モデル。さまざまな異なるパスワードを使用できます(参考資料を参照man enc
)。その後、コマンドはユーザーがパスワードを入力し、それを使用して適切なキーを生成するのを待ちます。次のコマンドを使用してキーを表示したり、パスワードの-p
代わりに自分のパスワードを使用することができます-K
(実際にはパスワードより少し複雑です)。初期化ベクトルまたは、ソースが必要な場合はman enc
もう一度確認してください。)パスワードを使用している場合は、生成されたキーを表示または保存しなくても同じパスワードを使用して復号できます。
これを解読するには:
openssl enc -in foo.bar.enc \
-d -aes-256-cbc \
-pass stdin > foo.bar
参考にしてください-d
。また見てくださいman openssl
。
答え2
ワンタイムケースでは、暗号化にzipとパスワードを使用できます。キーベースの技術ほど強力ではありませんが(正しいパスワードを持つことは難しいため)、特別な状況に適している可能性があります。
コマンドラインは次のとおりです。
zip -r -0 -e encrypted_file.zip /path/to/files
-r to recurse directories.
-e to encrypt
答え3
@goldilocksの回答を少し修正しました。
暗号化
openssl enc -in foo -aes-256-cbc -pbkdf2 -out foo.enc
違い:
- 引数を省略すると、
-pass stdin
「aes-256-cbc暗号化パスワードを入力してください:」というメッセージが表示され、コンソールにパスワードを表示せずにパスワードを入力できます。 - デフォルトの反復アルゴリズムを使用し、
PBKDF2
「***警告:廃止されたキー派生が使用されました。-iterまたは-pbkdf2を使用することをお勧めします」という警告を抑制します。
復号
openssl enc -d -in foo.enc -aes-256-cbc -pbkdf2 -out foo.plain