ネットワーク経由でファイルを送信する最も簡単な方法


14

ネットワークを介して他のコンピューターにファイルを送信する最も簡単で汎用性の高い方法は何ですか?つまり、他の人が現在使用しているコンピューターを意味します。コンピューターでアクティブなセッションが開いている場合、SSHが機能するとは思わない。

これまでのところnetcat、を使用しています。しかし、これを行う他の簡単な方法はありますか?私が抱えている1つの問題netcatは、受信者がファイルの終わりを知る必要があり、ストリームの名前を考え出す必要があるということです。


1
引き続き使用したい場合はnetcattarアーカイブを送信し、その場で解凍できます。これにより、ファイル名の問題が解決され、より柔軟になります。しかし、最終的に私は推測するscprsync、簡単なオプションです。
マルコ

タールを送信し、その場で抽出する方法は?
トムトム

1
私はnetcat hostname | tar -xあなたがファイルを置きたいディレクトリにあると思います。
ドミトリーグリゴリエフ

回答:


21

あなたはあなたの人生を不必要に複雑にしている。を使用しscpます。

ファイルmyfileをローカルディレクトリから、ユーザーuserとしてマシンotherhostのディレクトリ/ foo / barに転送するには、次の構文を使用します。scp myfile user@otherhost:/foo/bar

編集:scp / SSHを介した転送は暗号化されますが、netcatまたはHTTPを介した転送は暗号化されないことに注意してください。したがって、機密ファイルを転送する場合は、常に前者を使用してください。


scpユーザーアカウントのパスワードは必要ありませんか?
トムトム

はい、もちろん。アカウントのパスワードが必要ですuser@otherhost
dr01

2
いいえ、公開鍵認証を使用する場合、パスワードは必要ありません
YoMismo

9
OK、もしあなたがうるさくなりたいなら、あなたがとして認証しなければならないと述べましょうuser@otherhost
dr01

1
また、簡略化として、ユーザー名が両方のマシンで同じ場合、ユーザー名を除外できます。ただし、該当する場合はパスワードの入力を求められます。
シルドレス

10

試すこともできます

python -m SimpleHTTPServer 8180

HTTP経由で実行されたディレクトリ内のファイルを提供し、ブラウザ経由でアクセスできます。


または、パフォーマンスに不満がある場合は、darkhttpdを使用します。
TNW

1
Python 3の場合:python3 -m http.server <port>
dotancohen

このオプションの詳細については、こちらをご覧ください:askubuntu.com/a/95607/42073
Segal-Halevi

ありがとう!Windowsテストシステムにいくつかのファイルを取得するのに
最適

9

満足しているnetcat場合は、を導入することでファイル名の問題を回避できtarます。これにより、複数のファイルを一度に送信したり、ディレクトリを送信したりすることも簡単になります。

送信側で使用:

tar cf - <files> | nc <host> <port>

そして、受信側で:

nc -l <port> | tar x

別の解決策は、rsyncまたはを使用することscpです。


通常、送信netcatにも-q2を追加して、ストリームの最後で接続をシャットダウンします。
サイモンリヒター

なぜこれが必要なのか理解できません。-qオプションなしで自動的にシャットダウンします。
マルコ

それは、使用するnetcat実装に依存します。他の方向がまだアクティブである可能性があるため、stdinが閉じたときにTCPストリームの1つの方向のみを閉じる実装があります。
サイモンリヒター

tar | ssh tarscpが落ちてrsyncが利用できない場合にも非常にうまく機能します。
ホッブズ

2

もちろんssh、別のセッションが開いている場合は機能します。あなたはできる

ssh user@host cat /path/to/file.tar  > localfile.tar

または、ローカルディレクトリにコピーするには:

scp user@host:/path/to/file.tar .

たとえば、他の方法で可能ssh lubuntu '>newfile.txt' <file.txtですか?
heemayl

1
@heemaylはい、リモートファイルにcatする場合はcat local.file | ssh user@host "cat > remote.file"、またはを実行しssh user@host "cat > remote.file" < local.fileます。
テルドン

0

両方のホストが同じLANにある場合、woosを使用できます。

使い方は非常に簡単です。

送信者と受信者がインターネットのどこにいても大きなファイルを転送する必要がある場合は、F * EXをインストールする必要があります:http : //fex.belwue.de/index.html


1
基本的なscpも非常にシンプルであり、実際に配布され、信頼され、何百万人もの人々が使用するツールです。
ジャックワシー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.