Ubuntu, passwordless ssh, ClusterSSH i paralelno kopiranje
Ovo je potrebno između servera i klijenata, a ko želite da na više klijenata istovremeno izvršavate komande, ili im šaljete najnovije verzije nekih skripti/fajlova. Prvi korak u realizaciji ovakvih ambicija je baš paswordless ssh između servera i klijenata.
I na serveru i na klijentu generisati set ključeva, ali obavezno bez lozinke (ja sam na oba hosta koristila isti username : velda) :
velda@ubuntu:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/velda/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/velda/.ssh/id_rsa.
Your public key has been saved in /home/velda/.ssh/id_rsa.pub.
The key fingerprint is:
49:fa:a6:a0:51:9c:f5:4c:de:ab:df:11:77:59:a1:e5 velda@ubuntu
Zatim klijent i server treba da razmene svoje javne ključeve. To je najjednostavnije uraditi sa komandom : ssh-copy-id – install your public key in a remote machine’s authorized_keys :
sa servera$ ssh-copy-id velda@IP-adresa-klijenta
(Sa klijenta na server nema potrebe)
Posle ovoga se sa servera na klijent može bez lozinke logovati kao korisnik velda :
sa servera$ ssh velda@IP-adresa-klijenta
Pošto je ovo urađeno, na server se može instalirati ClusterSSH paket (cssh) preko koga se na većem broju mašina može izvršavati ista komanda. Cssh ima i gui deo, i dobro je i njega instalirati kad i ostatak paketa.
Dobar link vezan za ClusterSSH : link.
Posle svega se može organizovati da se sa servera na sve klijente paralelno šalju fajlovi (opet je svuda u pitanju nalog velda, a i lokacija foldera u koji se šalju fajlovi mora imati dozvolu za upis) :
sa servera$ parallel-scp -h /test1/spisak /test/proba1 /test
[1] 15:20:37 [SUCCESS] 10.10.10.114
[2] 15:20:56 [SUCCESS] 10.10.10.141
Gde se u /test1/spisak fajlu nalazi spisak IP adresa klijentskih mašina
Fajl /etst/proba1 je na serveru i to je fajl koji se kopira
Folder /test je lokacija smeštanja fajla na klijentskim mašinama.