Respostas:
Você pode transmitir ao ssh
cliente um comando para executar no lugar de iniciar um shell anexando-o ao comando ssh.
ssh username@domain.com 'rm /some/where/some_file.war'
Você não precisa ir cd
a um local para remover algo, desde que especifique o caminho completo; portanto, é outra etapa que você pode pular.
A próxima pergunta é autenticação. Se você acabou de executar isso, você será solicitado a fornecer uma senha. Se você não quiser inserir isso interativamente, configure a autenticação de chave pública.
-f
à rm
execução de chamadas remotas?
rm
eles certamente devem ser repassados ao chamador, a menos que o usuário saiba o que esperar e por que está substituindo alguma coisa. Muitos erros e a depuração frustrante posteriormente podem ser evitados usando apenas as opções necessárias em um determinado senário.
-f
opção to rm
é abreviada --force
e afeta os erros de arquivos inexistentes ou argumentos falsos. Geralmente, os comandos executam sobre shells não interativos, por padrão, sendo menos interativos, mas você não é ou está recebendo um prompt interativo, o que fazer é corrigir as configurações diretamente relacionadas a isso. Se você está scripting isso você não deve ter esse problema de qualquer maneira, e se você estiver em um shell interativo (onde você tem a possibilidade de erros catastróficos) você deve usar -I
em --interactive=never
definir o seu comportamento desejado.
Se você deseja excluir um arquivo remoto com o uso do sudo, é necessário executar algo como isto:
ssh -tt user@host 'stty raw -echo; sudo rm /path/to/file' < <(cat)
Detalhes .
O comando ssh possui um parâmetro de comando (último parâmetro no comando) que você pode usar para executar comandos remotos.
Configure chaves sem senha e adicione o comando como parte do comando ssh. Consulte: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/