squid.conf
Bir sunucudan diğerine kopyalamak istiyorum .
- Sunucular birbirleriyle konuşmuyorlar. İş istasyonumdan geçmek istiyorum.
- Her iki sunucu da dosyaya sahiptir, bu nedenle hedefin üzerine yazılır.
- Dosyaların
600
izni vardır ve sahip oldukları kök dizinidir. - ssh üzerinden root girişi devre dışı (
PermitRootLogin no
). - Bir kurulum kılavuzunun parçası olacağından, mümkünse tek bir satırda yapmak istiyorum.
Yapmayı biliyorum
ssh source 'tar czpf - -C /etc/squid/ squid.conf' | \
ssh target 'tar xzpf - -C /etc/squid/'
dosyaları sunucular arasında kopyalamak ve izinleri korumak için. Ancak, bu durumda "İzin reddedildi" alırım.
Bunu yapabileceğimi de biliyorum:
ssh -t source 'sudo cat /etc/squid/squid.conf'
Bu şekilde, -t
sudo dosyasının içeriğini çıkarmadan önce yönetici şifresi istemesine izin verir.
Sorun, nasıl bu teknikleri her sunucuda sudo şifresi soracak bir şey içine birleştirmek bilmiyorum ve dosyayı hedefine aktarmak. Mümkün mü?
GÜNCELLEME : İşte bulabileceğim en iyi şey:
ssh -t source 'sudo tar czf /tmp/squid.tgz -C /etc/squid squid.conf' && \
ssh source 'cat /tmp/squid.tgz' | \
ssh target 'cat >/tmp/squid.tgz' && \
ssh -t source 'sudo rm /tmp/squid.tgz' && \
ssh -t target \
'sudo tar xzf /tmp/squid.tgz -C /etc/squid && sudo rm /tmp/squid.tgz'
Bunu tek astar olarak adlandırmak bir streç gibi görünüyor. Sanırım kurulum kılavuzundaki ayrı adımlara ayırıyorum.