it-swarm-tr.com

Bir kabuk komut dosyası kullanarak SSH üzerinden uzak makinedeki bir dosyayı nasıl silebilirim?

Uzak bir makinedeki bir dosyayı bir Kabuk Betiği ile silmem gereken bir Kabuk Betik yazıyorum.

Manuel olarak akış:

ssh [email protected]

.. sonra alan adında:

cd ./some/where
rm some_file.war

Bu görevi nasıl yerine getirebilirim?

34
mico

ssh istemcisine, bir Shell'i başlatmak yerine ssh komutuna ekleyerek yürütülecek bir komut iletebilirsiniz.

ssh [email protected] 'rm /some/where/some_file.war'

Tam yolu belirttiğiniz sürece bir şeyi kaldırmak için bir konuma cd yapmanız gerekmez, bu nedenle atlayabileceğiniz başka bir adım.

Bir sonraki soru kimlik doğrulamadır. Sadece çalıştırırsanız, bir parola girmeniz istenir. Bunu etkileşimli olarak girmek istemiyorsanız publickey kimlik doğrulaması ayarlamanız gerekir.

53
Caleb

Sudo kullanarak uzak dosyayı silmek istiyorsanız, bunun gibi bir şey yürütmeniz gerekir:

ssh -tt [email protected] 'stty raw -echo; Sudo rm /path/to/file' < <(cat)

Detaylar .

4

Ssh komutu, uzak komutları çalıştırmak için kullanabileceğiniz bir komut parametresine (komuttaki son parametre) sahiptir.

2
Scott C Wilson

Parolasız anahtarları ayarlayı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/

1
laebshade