Yanıtlar:
ssh
İstemciye ssh komutuna ekleyerek bir kabuk başlatmak yerine yürütmek için bir komut iletebilirsiniz .
ssh username@domain.com 'rm /some/where/some_file.war'
cd
Tam yolu belirlediğiniz sürece bir şeyi kaldırmak için bir yere gitmeniz gerekmez , böylece atlayabileceğiniz başka bir adım olur.
Sonraki soru kimlik doğrulama. Sadece çalıştırırsanız, bir şifre girmeniz istenir. Bu etkileşimli olarak girmek istemiyorsanız, publickey kimlik doğrulaması ayarlamanız gerekir.
-f
için rm
uzaktan çağrı yürütme?
rm
ve kullanıcı ne bekleyeceğini ve neden bir şeyleri geçersiz kıldığını bilmediği sürece, arayan kişiye kesinlikle iletilmelidir. Daha sonra birçok hatadan ve sinir bozucu hata ayıklamadan, yalnızca belirli bir senaryoda ihtiyacınız olan seçenekleri kullanarak önleyebilirsiniz.
-f
seçenek için rm
kısa seçenek olup , --force
mevcut olmayan dosyalar veya sahte argümanlar için hataların yazılmasının bir etkisi olup olmadığıdır. Genellikle komutlar etkileşimli olmayan mermiler üzerinden daha az etkileşimli olmaktan geçiyor, ancak siz değilsiniz veya etkileşimli bir istekte bulunuyorsunuz, yapmanız gereken şey doğrudan bununla ilgili ayarları düzeltmektir. Bu scripting varsa zaten bu sorunu olmamalıdır ve (eğer felaket yazım hataları olasılığını var) Bir etkileşimli kabukta ise kullanmanız gereken -I
üzerinde --interactive=never
istediğiniz davranışı ayarlayın.
Uzak dosyayı sudo kullanarak silmek istiyorsanız, bunun gibi bir şey uygulamanız gerekir:
ssh -tt user@host 'stty raw -echo; sudo rm /path/to/file' < <(cat)
Ssh komutu, uzak komutları çalıştırmak için kullanabileceğiniz bir komut parametresine (komuttaki son parametre) sahiptir.
Parolasız ayarları yapın, sonra komutu ssh komutunun bir parçası olarak ekleyin. Bakınız: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/