Burada bir belgede böyle SSH üzerinde bir komut çalıştırmak çalışıyorum:
ssh example.com <<END
sudo /etc/init.d/apache2 reload
END
Normalde sudo için şifre gibi giriş gerektiren bir şey çalıştırmaya çalıştığım zaman dışında çalışır. Bu durumda, aşağıdaki mesajı alıyorum:
sudo: no tty present and no askpass program specified
-t
SSH bayrağı aşağıdaki gibi bir sözde tty ayırmak için kullanabilirsiniz biliyorum :
ssh -t example.com "sudo /etc/init.d/apache2 reload"
Ve işe yarayacak, ama burada-belge ile aynı şeyi denediğimde, işe yaramıyor ve mevcut olmayan hiçbir tty ile aynı hatayı alıyorum:
ssh -t example.com <<END
sudo /etc/init.d/apache2 reload
END
Bunu nasıl yapabileceğime dair bir fikrin var mı?
Ayrıca, neden sadece aynı satıra geçmek yerine bu belgeyle çalışmasını istediğimi merak ediyorsanız, giriş komutlarının (birkaç tane olabilir) bir komut dosyası tarafından okunan bir yapılandırma dosyasından gelmesidir. ve duydum ki tırnak, çift tırnak, vb için komut kaçmak için sorun önler.