Re: jak kopirovat jednoduse z jedne stanice na druhou?

From: Ing. Vlastimil Pospíchal (vpospichal@tiscali.cz)
Date: 13. 04. 2002, 11:54 CEST


> muze mi prosim nekdo poradit, jak kopirovat v siti davkou z jedne linuxove stanice adresar na jinou linuxovou stanici?
> 
> Mam RH 7.2, defaultni instalaci WS. Sit na TCPIP. Musim neco doinstalovat?
> 
> A nebo napisu neco jako
> xcopy  //stanice1/adresar/*   //stanice2/adresar /s /d:
> to by se mi libilo ;-)
> J.Cvrk

Tak nějak to dělám pomocí ssh-keygen, který máš nejspíš nainstalovaný.

Nejprve si vygeneruji na stanici dvojici klíčů do ~/.ssh/identity,
ten veřejný umístím bezpečnou metodou na serveru do souboru
~/.ssh/authorized_keys

Před tento klíč na stejný řádek umístím příkaz

  command="tar czf - /adresář"

Pokud tam tento příkaz nedám, povolím si všechny příkazy. To není
vždy žádoucí kvůli bezpečnosti. Těch možných příkazů je víc, zbytek 
man ssh; man ssh-keygen

Příkaz pak vypadá takto:

  ssh -i ~/.ssh/identity user@server |tar xzf -

tedy na serveru se data zabalí a zkomprimují, na stanici se opět
umístí do souborů a podadresářů.

nebo se uloží do archivního souboru:

  ssh -i ~/.ssh/identity user@server >archivace_dat.tgz

Variant je spousta, ve verzi bez příkazu "command=..."

  ssh -i ~/.ssh/identity user@server "tar czf - /adresář" >archivace_dat.tgz

Příkaz v uvozovkách se provede na serveru, zbytek na lokálu. Komunikace
je šifrovaná a je bezpečná, hodí se tedy i pro přenášení souborů po
internetu. Tyto příkazy se dají vložit i do crontabu. V aliasu se mu
také daří docela dobře :-)

Podobně funguje program scp (viz man scp), který asi nejlépe vystihuje
Tvé původní přání. vyžaduje však pokaždé heslo a neumožňuje kompresi při
přenosu. Nehodí se do crontabu.

Popsal jsem to pro SSH1, pro SSH2 jsou drobné odchylky, princip
je však stejný.

Bye Kit
-- 
Ing. Vlastimil Pospíchal
http://www.hoteldrnholec.cz



This archive was generated by hypermail 2.1.2 : 13. 04. 2002, 13:05 CEST