<p>Çoğu zaman buradan bir şeyler paylaşıyorum , sebebi ise tekrar gerektiğinde çözümü bulacağım yeri bilmek , mevcut şirketimde bu yapıda 300 civarı server var , tabi farklı yapıda 1000 kadar sunucu yönetiyoruz, hepsine bir gui ile bağlanıp komut gönderebilirim , tek tek ssh ile de bağlanabilirim ama bu ciddi vakit alıcı bir durum ve tekrar aynı işi yapmak ister isem aynı vakti yine harcayacağım . Şimdi bana verilen görev tüm sunuculara maldet kurmak. Önce biraz düşünme vakti ayırıyorum kendime ve bir demli çay hazırlıyorum.</p>
<p>Elimdeki doneler</p>
<p>*Aynı dağıtım sunucular</p>
<p>*Aynı ssh portları</p>
<p>*Aynı ssh şifreleri</p>
<p>Bu durumda şöyle düşünüyorum; aynı komut hepsinde çalışacak , ssh protokülünde port belirtebiliyorum ve sshpass ile de key gerekmeksizin aynı şifreyi tüm sunucular için sırası ile girdirebiliyorum. Şimdi bu örneği gerçeğe dönüştürelim.</p>
<p>Debian tabalı bir dağıtım olan kali kullandığım için apt-get install sshpass ile ssh pass kurdum , burayı söylemiyorum.</p>
<p>Bir hosts.txt dosyası oluşturdum ve tüm işlem yapacağım sunucuları içine alt alta satır satır yazdım.</p>
<p>nano hosts..txt</p>
<p>sunucu1.ayhanarda.com<br />
herhangi bir ip adresi<br />
suunucu8.blabla.com<br />
server5.ayhanarda.com</p>
<p>Kaydedip çııkıyorum , şimdi komutumuza gelelim , buraya kadar aynı yaptığınızı varyarak değişkenleri işaretledim.</p>
<p>mapfile -t myhosts <; hosts.txt; for host in &#8220;${myhosts[@]}&#8221;; do sshpass -p <span style="color: #ff0000;">ŞİFRENIZ</span> ssh root@&#8221;$host&#8221; -p <span style="color: #ff0000;">PORT</span> -o &#8220;StrictHostKeyChecking no&#8221; &#8216;<span style="color: #ff0000;">KOMUT</span>&#8216;; done</p>
<p>Ayhan ARDA</p>