GNU/Linux >> Znalost Linux >  >> Linux

Jak propojit a sdílet data mezi dvěma systémy Linux

Dostal jsem zajímavou žádost (ne od nezadaných z mého okolí). Jeden z mých čtenářů se mě zeptal, jak se postupuje při propojení dvou linuxových boxů - předpokládám, že pro účely sdílení. Toto je téma, kterého jsem se často dotkl, ale často nepřímo. Jak by řekl velitel Lasard z Policejní akademie, existuje mnoho, mnoho, mnoho, mnoho různých způsobů, jak toho dosáhnout.

Možná je tedy čas na pořádný tutoriál. Ukážu vám několik běžných, robustních způsobů, jak mít dva linuxové systémy komunikovat po síti. Uděláme to na příkazovém řádku, poté přejdeme ke správcům souborů a nakonec také provedeme vzdálené zálohování dat pomocí přátelského nástroje GUI. Začněme.

Příkazový řádek:SSH, SCP

„Nejjednodušší“ způsob propojení dvou linuxových systémů je pomocí protokolu SSH. Je to pohodlné, bezpečné a dostupné v podstatě na jakémkoli systému Linux. Nyní, v některých vzdálených [sic] případech, mohou nastat problémy s interoperabilitou kvůli nekompatibilním verzím softwaru tu a tam, ale celkově byste neměli mít žádné problémy.

Jeden hostitel funguje jako server (ve výchozím nastavení otevírá TCP port 22). Druhý vystupuje jako klient. Můžete použít nástroj příkazového řádku SSH k navázání připojení k serveru a dokonce na něm spouštět příkazy, vzdálené jako místní, včetně administrativních úloh (za předpokladu, že máte správná oprávnění). Nebo můžete použít SCP k bezpečnému kopírování souborů z klienta na server nebo dokonce k načtení souborů ze serverů zpět na hostitele klienta.

Nastavení serveru SSH

Předvedu se serverem Fedora 32 a klientem Kubuntu 18.04. Nejprve musíme nainstalovat a nakonfigurovat servisní software SSH. I když se pokyny mohou u jednotlivých distribucí mírně lišit, do značné míry je to, co zde vidíte, v podstatě vše, co potřebujete. Jediným významným rozdílem je název balíčku používaný k identifikaci serveru SSH - ve Fedoře přichází jako openssh-server. Pokud hledáte existující sshd (ssh daemon =služba), nezískáte skutečně nic.

Žádná shoda pro argument:sshd
Chyba:Nelze najít shodu:sshd

sudo dnf search ssh
...
openssh-ldap.x86_64 :Podpora LDAP pro démona serveru SSH s otevřeným zdrojovým kódem
openssh-server.x86_64 :démon serveru SSH s otevřeným zdrojovým kódem
openssh.x86_64 :Open source implementace protokolu SSH verze 2
...

Jakmile je openssh-server nainstalován, můžete službu spustit. Obvykle se ve výchozím nastavení spustí při spuštění, ale vždy jej můžete spustit nebo restartovat ručně (buď pomocí příkazu nebo skriptu spouštěcí služby), ale nespustí se, pokud nemá klíče SSH (pomocí kterých hostitel lze jednoznačně identifikovat).

sshd
sshd re-exec vyžaduje provedení s absolutní cestou

/usr/sbin/sshd
/etc/ssh/sshd_config:Oprávnění odepřeno

sudo /usr/sbin/sshd
sshd:nejsou k dispozici žádné klíče hostitele -- ukončuje se.

Potřebujeme vygenerovat hostitelské klíče:

sudo ssh-keygen -A
ssh-keygen:generování nových hostitelských klíčů:RSA DSA ECDSA ED25519

A nyní se spustí openssh-server:

sudo /usr/sbin/sshd

ps -ef|grep ssh
roger 1832 1791 0 15:03 ? 00:00:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "/usr/bin/gnome-session"
root 3640 1675 0 15:17 ? 00:00:00 sshd:/usr/sbin/sshd [posluchač] 0 z 10–100 spuštění

Nastavení sítě

Ukážu vám, jak propojit dva boxy v místní síti. Platí smluvní podmínky. Budete potřebovat, aby byli dva hostitelé dosažitelní (firewall a další). Otevření síťového portu může mít bezpečnostní dopady – méně na lokální síť, ale spíše na veřejné sítě, jako je Internetz. Nicméně nejsem tady, abych diskutoval o zabezpečení vašich shi... věcí, jen abych vám ukázal, jak propojit dva boxy v nastavení vaší LAN. Pro ty nejzvučnější však můžete posílit SSH, včetně přístupu bez oprávnění root, použití jiného než výchozího portu, omezení přihlášení, různých dalších omezení a podobně.

Nyní si zapište IP adresu nebo název hostitele vašeho linuxového serveru. Na "moderních" distribucích není nalezení IP adresy triviální, protože netstat a ifconfig už nejsou cool, ale lze to udělat. Budeme to potřebovat pro klientskou část připojení.

Příkazový řádek:SSH, SCP (pokračování)

Na klientovi se připojte ke svému serveru. Syntaxe je následující:

ssh uživatelské jméno@hostname

Takže prakticky v mém příkladu je to - všimněte si varování při prvním připojení:

ssh [email protected]
Autentičnost hostitele „192.168.2.107 (192.168.2.107)“ nelze zjistit.
Otisk klíče ECDSA je SHA256:8Qk//cbC0v3BLuU1FQ/vjABNN34nw1sWANY+hoycHiE.
Opravdu chcete pokračovat v připojení (ano/ne)? ano
Upozornění:Trvale přidáno '192.168.2.107' (ECDSA) do seznamu známých hostitelů. Heslo uživatele
[email protected]:
Poslední přihlášení:Čt 17. září 15:03:38 2020

Nyní jste "in" - nyní můžete dělat věci na svém serveru. Ale také chceme mít možnost kopírovat data sem a tam. Pak použijme SCP. Syntaxe je následující:

scp source username@hostname:destination

Příkaz scp také přebírá různé užitečné argumenty – můžete procházet složkami, zachovat oprávnění, připojit se k jinému než výchozímu portu a další. Je zajímavé, možná ironicky, ssh používá malé písmeno p k určení portu (např.:-p 2222), zatímco scp používá velké písmeno p (např.:-P 2223). U scp se malé písmeno p používá k zachování režimů a časů původních souborů. Tady.

scp -r /home/igor/Wallpapers/ [email protected]:/home/roger/Pictures/
heslo [email protected]:
wallhaven-156819.jpg 100% 1506.KB /s 00:00
wallhaven-448391.jpg 100 % 1606 kB 3,0 MB/s 00:00
wallhaven-12679.jpg 100 % 501 kB 5,4 MB/s 00:00
...

Ve výše uvedeném příkladu rekurzivně zkopírujeme obsah adresáře Tapety do složky Obrázky na našem serveru. Vždy můžete obrátit směr toku dat (zdroj, cíl).

Bezobslužné připojení SSH, SCP

Jak jste si možná všimli výše, v mém příkladu jsem byl požádán o heslo. To je dobré pro interaktivní práci, ale může to být těžkopádné, pokud chcete spouštět bezobslužné zálohování, jako jsou úlohy plánované přes noc. Za tímto účelem budete muset nakonfigurovat pár veřejného a soukromého klíče SSH. Odkazovaný tutoriál to pěkně vysvětluje.

Příkazový řádek:rsync

Nejzřetelnější případy použití pro připojení mezi dvěma hostiteli jsou pro účely zálohování dat. Například chcete zkopírovat domovský adresář na vaší pracovní stanici na archivační server. Pokud jde o zálohování, rsync je vynikající nástroj pro tuto práci. Ještě lepší je, že již máte průvodce od vašeho významného autora, který vysvětluje, jak používat rsync ke konfiguraci zálohování dat.

Musíme do rovnice zavést komponent SSH. Rsync bezproblémově podporuje SSH. Jinými slovy, vše zůstává stejné, kromě toho, jak definujete cíl. Syntaxe SSH/SCP pro záchranu:

rsync source username@hostname:destination

Například:

rsync -avs --delete -i -h /home/igor/Wallpapers/ [email protected]:/home/roger/Pictures
heslo uživatele [email protected]:
odesílání přírůstkového seznamu souborů
*mazání Screenshot_20200516-125442.png
*mazání Screenshot_20200516-125302.png
*mazání Screenshot_20200516-125252.png
...
*mazání QEMU Virgilting.txt
*mazání Fedora 32.txt
.d..tp..... ./

odesláno 11,16 milionů bajtů přijato 7,94 kB 2,03 milionů bajtů/s
celková velikost je 11,15 milionů zrychlení je 1,00

Opět potřebujeme klíče pro bezproblémové připojení.

Konektivita GUI:Správce souborů Dolphin

Jak jsem řekl, existuje mnoho různých způsobů, jak to udělat. Předvedu s Dolphinem, výchozím správcem souborů na ploše Plasma. Nativně podporuje konektivitu SSH, takže v podstatě můžete dělat to, co jsme dělali dříve, až na to, že to nyní děláte přes GUI, nikoli na příkazovém řádku. Jemnějším detailům používání Dolphin &SSH věnuji samostatný článek, takže prozatím zde je zkrácená verze.

Dolphin používá protokol FISH k navázání spojení se vzdálenými hostiteli. V Dolphinu stiskněte Ctrl + L nebo poklepejte na řádek umístění pro zobrazení adresního řádku a poté napište:

fish://username@destination

Dolphin vás nyní vyzve k zadání hesla – které si můžete uložit, a je to. Jste připojeni ke vzdálenému hostiteli a můžete provádět libovolnou operaci se soubory (v rámci oprávnění SSH, které má váš uživatel a které server umožňuje).

Záloha GUI:Grsync

Už jsme o tom mluvili. Grsync je vynikající frontendový nástroj rsync - můj oblíbený. Můžete jej použít k definování jedné nebo více úloh replikace dat, včetně různých možností a výjimek. Do cílového řádku musíte vložit položku username@hostname:destination, stejně jako byste to udělali s rsync v okně terminálu.

Operaci pak můžete simulovat (spustit nasucho) nebo se skutečně připojit – s bonusem navíc, že ​​si můžete uložit přihlašovací údaje pro připojení, takže můžete úlohu znovu spustit, aniž byste se museli znovu ručně ověřovat. Ideální pro plánované úlohy zálohování dat.

Závěr

No, tady to je. Nyní máte čtyři různé způsoby, jak připojit vaše linuxové stroje, včetně metod příkazového řádku a GUI, ověřování na základě hesla a bez hesla, zálohování dat a další. V zákulisí je to všechno SSH, ale to je na tom opravdu krásné.

Doufám, že vám tento článek bude užitečný a praktický. Pokud se chcete ujistit, že váš linuxový boxen spolu bez problémů komunikuje, máte nástroje, jak být svým vlastním šéfem. Pro ty, kteří si jistí příkazovým řádkem, ssh, scp a rsync tuto práci udělají, ale pokud máte větší zájem o jednoduchou akci typu point-'n'-click, Dolphin a Grsync nabízejí potřebnou funkčnost. Tím výčet nekončí. Můžete také použít FTP, SFTP - nebo program jako wormhole a některé další linuxové správce souborů také nabízejí funkce SSH a Rsync, ale to je téma na jiný článek. A to by bylo pro dnešek vše.


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

  2. Linux – Jak přepínat mezi relací Tty a Xorg?

  3. Linux – sdílení souborů mezi hostitelem Linuxu a hostem Windows?

  1. Vytvořte SSH spojení mezi Windows a Linuxem

  2. Sdílejte soubory mezi počítači se systémem Linux a Windows

  3. Jak se připojit a odeslat data do sériového portu Bluetooth v systému Linux?

  1. Jak připojit a odpojit souborové systémy v Linuxu

  2. Jak sdílet a přenášet soubory mezi Linuxem a Windows

  3. Nainstalujte si Dropbox a sdílejte soubory mezi Linuxem a Windows