3.
Linux Zerbitzariak itzaltzen
Maila bat gorago
Helburua: Behar dugunean, zerbitzari nagusian script bat exekutatuz, beste zerbitzari denak itzaltzea.
Has gaitezen ba lanean.
Honelako script bat exekutatzean garrantzitsua da scritp-ak pasahitzik ez eskatzea. Pasahitza eskatuko balu, inoiz ezingo genuke automatizatu (bihar edo etzi UPSaren kargaren arabera dena automatikoki itzaltzeko).
Zerbitzarian SSH gakoak sortu.
Zerbitzari nagusiak SSH erabiliko du beste zerbitzariak itzaltzeko, edo hobeto esanda, beste ssh konexio bat erabiliko du beste zerbitzarietan itzaltzeko behar den scripta exekutatzeko.
Lehenengo eta behin, zerbitzari nagusian ssh gakoa sortuko dugu /root/gakoak karpetan. Gakoa sortzerakoan, passphrase sartzeko eskatzen digunean (bi aldiz) ez dugu ezer idatziko eta enter sakatuko dugu.
[root@LinuxZerb01]# mkdir /root/gakoak
[root@LinuxZerb01]# cd /root/gakoak/
[root@LinuxZerb01 rsync]# ssh-keygen -t dsa -b 2048 -f /root/gakoak/LinuxZerb01-rsync-key
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase): <-- Ez sartu ezer, ENTER sakatu
Enter same passphrase again: <-- Ez sartu ezer, ENTER sakatu
Your identification has been saved in /root/gakoak/LinuxZerb01-rsync-key.
Your public key has been saved in /root/gakoak/LinuxZerb01-rsync-key.pub.
The key fingerprint is:
67:9a:c3:27:ea:36:19:46:bd:31:bd:9b:82:4c:83:52 root@LinuxZerb01.niredominioa.com
Bi gako sortu ditugu: pribatua (LinuxZerb01-rsync-key) eta publikoa (LinuxZerb01-rsync-key.pub).
Pribatua ez diogu inori eman behar, publikoa aldiz beste zerbitzarietan kopiatuko dugu. Kasu honetan, LinuxZerb02 zerbitzarian kopiatuko dugu scp baten bidez:
[root@LinuxZerb01]# scp LinuxZerb01-rsync-key.pub root@192.168.5.2:/root/
Orain ssh bidez LinuxZerb02 zerbitzarira konektatzen gera root erabiltzailearekin, eta aurrez kopiatu dugun beste zerbitzariko gako publikoa behar den lekuan jarriko dugu
Lehendik /root/.ssh ez badago, sortu
LinuxZerb02:~# cd /root
LinuxZerb02:~# mkdir .ssh
LinuxZerb02:~# chmod 700 .ssh
LinuxZerb02:~# mv LinuxZerb01-rsync-key.pub .ssh
Orain, gako publikoa sartu authorized_keys barruan. authorized_keys lehendik ez bada existitzen, sortu egin beharko dugu.
LinuxZerb02:~# cd ~/.ssh
LinuxZerb02:~# touch authorized_keys
LinuxZerb02:~# chmod 600 authorized_keys
LinuxZerb02:~# cat LinuxZerb01-rsync-key.pub >> authorized_keys
Errepaso moduan: ssh karpetako authorized_keys barruan aurrez sortu dugun gako publikoa sartu dugu. Hau eginez, eta kontutan izanik gakoa sortu genuenean ez geniola pasahitza jarri, gako pribatua dugun lekutik zerbitzari honetara konektatzeko aukera izango dugu pasahitzik sartu gabe. Horregatik da hain garrantzitsua gako pribatua ondo babestea.
Egin dezagun proba. Horretarako Linux zerbitzari nagusira konektatu eta komando hau idatzi:
LinuxZerb01:~# ssh -i /root/gakoak/ LinuxZerb01-rsync-key 192.168.5.2
Dena ondo egin badugu, LinuxZerb02 zerbitzarian konektatuta (192.168.5.2) egongo zara.
Bai, baina honekin oraindik ez dugu zerbitzaria itzali, ezta ? Lasai, bigarren zatia falta da.
LinuxZerb02 zerbitzarira konektatu eta /root barruan itzali.sh izeko script bat sortuko dugu. Horretarako zuk nahiago duzun editorea erabili. Nik nano erabiltzen det:
LinuxZerb02:~# cd /root
LinuxZerb02:~# nano itzali.sh
Fitxategian bi lerro hauek hau idatzi:
#!/bin/bash
halt
Orain fitxategia gorde eta baimen egokiak jarri:
LinuxZerb02:~# chmod 744 itzali.sh
Listo, prest daukagu zerbitzaria itzaltzeko erabiliko dugun scripta.
Bueltatu gaitezen berriro zerbitzari nagusira (LinuxZerb01).
Ikusi dugu gako publiko eta pribatuak erabiliz zerbitzari nagusitik ssh erabiliz beste zerbitzarian zuzenean sartzen garela. Teknika berdina erabiliz, orain zerbitzari nagusitik beste zerbitzaria itzaliko dugu. Kontuz, zerbitzaria itzali egingo dugu eta !!
LinuxZerb01:~# ssh -i /root/gakoak/ LinuxZerb01-rsync-key 192.168.5.2 /root/itzali.sh
Konturatzen bazera lehen jarri dugun komando berdina da, baina bukaeran itzaltzeko sortu dugun bi lerrotako scripta jartzen dugu, beraz ssh konexioa erabiliz, script hori exekutatzen du.
Egin ditugun pauso hauek beste Linux zerbitzarietan (LinuxZerb03, LinuxZerb04, LinuxZerb05) errepikatu behar ditugu, eta hau egin ondoren, LinuxZerb01 zerbitzari nagusian jarriko dugun scriptaren bitartez denak itzaltzeko prest egongo gara:
root@LinuxZerb01:~# cd /root
root@LinuxZerb01:~# nano SarekoZerbitzariakItzaki.sh
Lerro hauek kopiatu scriptean:
ssh -i /root/gakoak/ LinuxZerb01-rsync-key 192.168.5.2 /root/itzali.sh
ssh -i /root/gakoak/ LinuxZerb01-rsync-key 192.168.5.3 /root/itzali.sh
ssh -i /root/gakoak/ LinuxZerb01-rsync-key 192.168.5.4 /root/itzali.sh
ssh -i /root/gakoak/ LinuxZerb01-rsync-key 192.168.5.5 /root/itzali.sh
Fitxategia gorde eta baimen egokiak jarriko dizkiogu:
root@LinuxZerb01:~# chmod 744 SarekoZerbitzariakItzaki.sh
Listo, Linux zerbitzari guztiak itzaltzeko scritpa egin dugu.