web-dev-qa-db-ja.com

ローカルネットワークで暗号化せずにファイルをコピーする(ssh)

scpはすべての場合にうまく機能しますが、Raspberry Piは安全な環境(lan)でファイルを効率的にコピーするのに弱くなります。 54 MbitワイヤレスLANを介して理論的に可能な6,75 MB/sは、約1.1 MB/sに縮小されます。

暗号化せずにリモートでファイルをコピーする方法はありますか?

これは、追加のサービス(ftp、samba)に依存しないcliコマンドであるか、少なくとも最小限の構成である必要があります。つまり、標準のプログラム/サービス(scp/sshなど)ですぐに使用できる標準ツールです。

23
ManuelSchneid3r

あなたはrcpを探しているかもしれません、それはrshを介してリモート実行を実行するので、それに依存する必要があり、すべての通信が安全でないことを覚えておいてください。

15
YoMismo

Ssh/scpで暗号化を完全に無効にすることはできませんが、CPUの負荷がはるかに少ない弱い暗号を使用するように強制することができます。 ssh_configまたはコマンドラインで圧縮がオンになっていないことを確認し、scpコマンドラインに-c arcfour,blowfish-cbcを追加して、より弱い暗号を選択します。

13
doneal24

私はこの簡単なスクリプトを書きました:

#!/bin/bash

ssh "$1" "nc -l 2020 > \"$2\" &"
pv "$2" | nc "$1" 2020

それは2つの引数をとります。それを送信するホストと送信するファイルです。 1つのファイルに対してのみ機能します。 sshを使用して反対側でnetcatリスニングを開始し、次にnetcatを使用してそのリスニングポートに送信します。最初にpvを追加して、Niceプログレスバーを表示しました。必要がない場合は、pvcatに置き換えます。 2020ポートを好きなように変更します。これには、リモートシステムへのsshアクセスが必要です。

これは完全に安全ではありませんが、それがあなたが望んでいたことです。

9
Ben Collins

NFSは、この種のタスクではかなり過小評価されていると思います。この場合、利便性、速度が求められ、セキュリティは気になりません。 NFSは、特にクライアントでの設定が非常に簡単です。 このubuntuコミュニティのヘルプページ とともに、 buntuのこの短いガイド を参照してください。クライアントの観点からは、サーバーディレクトリをマウントするだけで、ローカルドライブのように見え、cpまたはrsyncまたは必要なコマンドを使用できます。

9
TooTone

HPC(High Performance Computing)のopensshには、転送ウィンドウサイズを増やして暗号化を無効にすることでsshスループットを向上させるパッチがあります。再コンパイルしても構わない場合は(おそらくフォワードポーティングパッチ)、チェック HPN-SSH 。 BowlOfRedがコメントで気づいたように、パッチはbothクライアントandサーバーで使用する必要があります。

また、rsync-を1台のマシンでデーモンとして使用し、もう1台のマシンで単純なクライアントとして使用することもできます。クライアントとサーバー間で異なるファイルの部分のみを転送できるため、ファイルの読み取り(およびチェックサム)よりも遅いネットワークリンクを介して大容量のボリュームを同期する場合に特に便利です。詳細については、rsync(1)およびrsyncd.conf(5)のマニュアルページを参照してください。

4
peterph

ベンコリンズによる上記のbashスクリプトは良い解決策ですが、サーバー側のポートの-pフラグがありません。そのまま実行すると、何もしない空のファイルまたはサーバーがハングします。

コマンドを見ただけで、これが何をしているかがわかりやすくなります。

DestinationShell# nc -l -p 2020 > file.txt

SourceShell# cat file.txt | nc dest.ip.address 2020

ncまたはnetcatは、出力がTCP接続を介して別のマシンにエコーされることを除いて、catと同じです。サーバー上のncの出力を同じ方法でDestinationを設定し、echo foo | nc dest.ip.address 2020を実行し、ncを使用して他のあらゆることを実行できます。

前回のアップデートからしばらく経ち、暗号がいくつか変更されました。少なくともfreeBSDでは、blowfishはもう利用できません。現在のsshインストールで見つけた最速の暗号は-c aes128-cbcです。

楽しい。

2
Elmars

ファイル構造全体を転送する場合は、tarを使用します。

受信システム:

[]# nc -l 2020 | tar xvf -

次に、送信システムで:

[]# tar cvf - | nc dst.hostname.net 2020

1つのシステムでファイルのアーカイブを監視し、もう1つのシステムで抽出します;)

1
user288759