GNU/Linux >> Znalost Linux >  >> Linux

Nejlepší způsob přenosu souborů přes LAN mezi dvěma počítači se systémem Linux

V prostředí Linuxu je z důvodu zabezpečení i snadného použití nejlepší způsob, jak jít ssh. SSH, SSHFS, SCP a SFTP, jak uvádíte, jsou jen různé služby postavené na protokolu SSH. SCP se velmi snadno používá, funguje stejně jako CP, ale v cestě můžete zadat jména uživatelů a strojů. Můžeme tedy provést CP jako cp ~/music/ ~/newmusic/ , ale stejně snadno bychom mohli udělat scp ~/music/ [email protected]:~/newmusic pro odeslání do počítače s názvem hostitel. To je vše – nemusíme nic nastavovat. Pokud nemáte nastavený certifikát nebo jiné ověřování (scp sdílí tato nastavení s ssh, samozřejmě), budete vyzváni k zadání hesla účtu na druhém počítači.

SFTP je nástroj, který usnadňuje provádění mnoha operací na vzdáleném souborovém systému – funguje stejně jako FTP, ale běží přes SSH, takže je bezpečný a vyžaduje pouze SSH server. man sftp vám řekne vše o tom, jak jej používat. SFTP nepoužívám jen k přesunu složky mezi dvěma počítači, je užitečnější, když máte na práci hodně operací, například když přeskupujete soubory na jiném počítači.

SSHFS pouze rozšiřuje SFTP do souborového systému:umožňuje vám připojit virtuálního hostitele k vašemu souborovému systému, takže síťové záležitosti probíhají zcela transparentně. SSHFS je pro semipermanentní nastavení, nejen pro jednorázový přenos souborů. Nastavení vyžaduje více úsilí, o čemž si můžete přečíst na webových stránkách projektu.

Pokud potřebujete pracovat v prostředí se smíšeným operačním systémem, Samba se stane vaší další nejlepší sázkou. Windows a OS X podporují Sambu zcela automaticky a Linux také, i když je někdy obtížné ho používat.


Můj osobní favorit pro případy, kdy na bezpečnosti nezáleží, je netcat + tar:

Chcete-li odeslat adresář, cd do adresáře, jehož obsah chcete odeslat na počítači, který odesílá, a proveďte:

tar -cz . | nc -q 10 -l -p 45454

Na počítači, který přijímá obsah, cd na místo, kde se má obsah zobrazit, a proveďte:

nc -w 10 $REMOTE_HOST 45454 | tar -xz

Nahraďte $REMOTE_HOST s ip / hostname počítače, který odesílá. Místo 45454 můžete také použít jiný port .

Ve skutečnosti se zde děje to, že „přijímající“ počítač se připojuje k odesílajícímu počítači na portu 45454 a přijímá obsah tar'd a gzip'd z adresáře a předává jej přímo tar (a gzip), aby jej extrahoval do aktuální adresář.

Rychlý příklad (pomocí localhost jako vzdáleného hostitele)

Počítač 1

[email protected]:~/nctest/a/mydir$ ls
file_a.txt  file_b.log
[email protected]:~/nctest/a/mydir$ tar -cz . | nc -q 10 -l -p 45454

Počítač 2

[email protected]:~/nctest/b$ ls
[email protected]:~/nctest/b$ nc -w 10 localhost 45454 | tar -xz
[email protected]:~/nctest/b$ ls
file_a.txt  file_b.log

Pro jednorázové tahy se doporučuje scp.

Ale pokud zjistíte, že tento adresář může fungovat a potřebujete jej mnohokrát přesunout, abyste udrželi druhou pozici aktualizovanou, můžete použít rsync (s ssh).

Vzhledem k tomu, že rsync má spoustu argumentů, obvykle to dávám do malého shellu, abych to pochopil správně (pokaždé). Cílem je posílat pouze věci, které se od posledního spuštění změnily.

#!/bin/bash

user="nisse"
host="192.168.0.33"

echo "Sync: /home/media/music/"
rsync --archive --delete -v --progress -e "ssh -l $user " /home/media/music/ $host:/home/media/music/

Toto přesune adresář s názvem "/home/media/music/" z místního počítače do počítače s názvem 192.168.0.33 pomocí uživatele "nisse". A smažte v cíli vše, co v místním počítači neexistuje.


Linux
  1. Jak přenášet soubory mezi dvěma počítači pomocí příkazů nc a pv

  2. Jak nakonfigurovat server SAMBA a přenášet soubory mezi Linuxem a Windows

  3. Jak přenášet soubory mezi servery v Linuxu pomocí SCP a FTP

  1. Nejlepší způsob přenosu souborů přes LAN mezi dvěma počítači se systémem Linux

  2. Jaký je nejrychlejší způsob spojení dvou nebo více souborů v Linuxu?

  3. Jak rychle a spolehlivě přenášet soubory mezi Linuxem a Androidem?

  1. Bezpečně přenášejte soubory a složky mezi počítači pomocí Croc

  2. Nejlepší nástroje pro přenos souborů v systému Linux

  3. Používat zařízení přes SSH?