From: Can Erkin Acar (can.acar@pro-g.com.tr)
Date: Thu 13 Apr 2006 - 06:50:31 GMT
yaşar tunçez wrote:
> Merhabalar,
>
> Bir intranetimizdeki yerel ağlarda bulunan linux ve unix sunuculardaki
> programları otomatik olarak güncellemekte kullanabileceğim bir linux
> komutu ve nasıl kullanabileceğim hakkında bilgi verebilir misiniz?
> Genel merkezimizden bunun için sco unix üzerinde rcp kullanılıyor.
rcp (ve r* araclari) cok eski ve onemli guvenlik problemleri bulunan
araclar. Gunumuzde artik *kullanilmamasi* gerekiyor.
Otomatik baglanti ve kopyalama icin scp kullanabilirsiniz.
ssh'in bir parcasidir [1].
ssh baglantilarini otomatik hale getirmek icin public-key kimlik
dogrulamasi yonteminden faydalanabilirsiniz.
kullanici_1@sunucu_1 den
kullanici_2@sunucu_2 ye otomatik ssh erisimi yapmak icin:
1. bir ssh anahtar cifti yaratilir (identity ve identity.pub dosyalari)
komut: ssh-keygen
ozel anahtar'a parola (passphrase) vermeyin (ki baglanirken size
sormasin)
2. ozel anahtar dosyasini (identity) sunucu_1 uzerinde kullanici_1'in
ev dizininde .ssh dizinine kopyalayin (~kullanici_1/.ssh/identity)
dosyanin modunun 600 oldugundan emin olun.
3. baglanmak istediginiz hedef sistemlerde (sunucu_2)
genel anahtari (identity.pub) hedef kullanicinin ev dizininde
.ssh/authorized_keys dosyasina ekleyin:
(~kullanici_2/.ssh/authorized_keys)
authorized_keys dosyasinda izin verilen her anahtar ayri bir satir
olarak yer alir.
4. sunucu_1 uzerinde kullanici_1 olarak
ssh kullanici_2@sunucu_2
komutu verdiginizde parola vs. sormadan hedef sisteme baglanacaktir.
Not 1: bu baglanti karsilikli kriptografik kimlik dogrulamasi ile
ve sifrelenmis bir kanal uzerinden gerceklesecektir.
Not 2: identity dosyasina parola vermediginiz durumlarda bu dosyayi ele
geciren herkes hedef kullanici/sistemlere baglanabilecektir. Normal
kullanimda saglam bir passphrase secilmelidir. sadece otomatik
baglantilarda bos passphrase kullanilmalidir.
Not 3: Otomatik baglantilarda, hedef sistemde (kullanici_2) olarak
'root' kullanmayin sadece gerekli isi yapacak (dosya kopyalama/okuma
vs) yetkileri olan bu ise ozel bir kullanici yaratip onu kullanin.
> Biraz açmak gerekirse;
>
> Yerel ağlarda redhat 9.0 linux sunucu olarak kullanıyoruz. Redhat 9.0
> yüklü makinada /home/yaka dizindeki program_a adlı programı yerel ağdaki
> win makinalar (ağ sürücüsüne bağlan v.s.) çağırarak çalıştırıyorlar.
> İşte biz bu yerel ağdaki redhat makinalardaki söz konusu sunucu programa
> ait dosya/dizinleri genel merkezimizden otomatik olarak güncellemesi
> için bir betik yazmak istiyoruz.
Bu isi bir adim ileri goturerek scp yerine rsync [2] kullanabilirsiniz.
rsync komutu scp gibi calisir ancak dosya senkronize ederken sadece
degisiklikleri hedef sisteme aktarir. rsync'i de ssh uzerinden
calistirabilirsiniz. Bir takim sistemlerde bunun icin
kaynak sistemde (sunucu_1) RSYNC_RSH=/usr/bin/ssh seklinde baglanti
saglayacak komutu ssh olarak belirtmeniz gerekebilir.
ornek:
kullanici_1@sunucu_1$ rsync -a program_a kullanici_2@sunucu_2:/home/yaka
Not: hem kaynak hem de hedef sistemlerde rsync programinin kurulmus
olmasi gereklidir.
Iyi Calismalar
Can
[1] http://www.openssh.com/
[2] http://rsync.samba.org/
-- Dr. Can E. Acar Pro-G Bilisim Guvenligi ve Arastirma Ltd. http://www.pro-g.com.tr _______________________________________________ Linux-ag mailing list Linux-ag@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-ag