Como apagar um arquivo na máquina remota via SSH usando um Script Shell?

30

Estou escrevendo um Shell Script no qual preciso excluir um arquivo em uma máquina remota por meio de um Shell Script.

Fluxo manualmente:

ssh [email protected]

.. então no domínio:

cd ./some/where
rm some_file.war

Como realizar essa tarefa?

    
por mico 27.07.2011 / 13:44

4 respostas

44

Você pode passar o comando ssh client para executar no lugar de iniciar um shell, anexando-o ao comando ssh.

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

Você não tem que cd para um local para remover algo, desde que você especifique o caminho completo, de modo que outro passo que você pode pular.

A próxima pergunta é a autenticação. Se você acabou de executar isso, você será solicitado por uma senha. Se você não quiser entrar interativamente, você deve configurar a autenticação de chave pública.

    
por 27.07.2011 / 14:30
3

Se você deseja excluir o arquivo remoto com o uso de sudo, você precisa executar algo assim:

ssh -tt user@host 'stty raw -echo; sudo rm /path/to/file' < <(cat)

Detalhes .

    
por 13.11.2014 / 15:49
2

O comando ssh tem um parâmetro de comando (último parâmetro no comando) que você pode usar para executar comandos remotos.

    
por 27.07.2011 / 14:30
1

Configure as chaves sem senha e adicione o comando como parte do comando ssh. Veja: link

    
por 27.07.2011 / 14:08