automatiza a exclusão de arquivos no servidor remoto

0

Nós executamos um aplicativo que cria muitos diretórios. Depois que o aplicativo for concluído, não precisamos desses diretórios. Por isso, queremos excluí-los, pois eles estão consumindo muito espaço. O problema é que este aplicativo está sendo executado em um servidor remoto. Eu tenho que escrever um script de shell que irá excluir os diretórios do servidor remoto.

Eu tentei o comando ssh

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

mas pediu uma senha. Então eu segui o passo abaixo

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

Eu sou capaz de fazer todos os passos descritos, mas finalmente está pedindo novamente uma senha.

Como posso usar o ssh sem uma senha?

    
por Praveen Pandey 05.10.2016 / 10:46

1 resposta

0

Use ssh com autenticação de chave pública. Para isso, você precisa gerar um par de chaves usando ssh-keygen e copiar a chave pública para o sistema remoto. Especificamente, para username acrescentar o conteúdo de id_rsa.pub (por exemplo) no seu PC local a ~username/.ssh/authorized_keys no sistema remoto.

Se você não quiser digitar uma senha, não proteja a chave privada com senha, por exemplo, usando a opção -N (para openssh) durante a geração de chaves, como em

ssh-keygen -N '' ...

No entanto, nenhuma proteção por senha tem implicações óbvias de segurança; especificamente, você deve proteger a chave privada de outras maneiras. (Em tal cenário, é provavelmente uma boa idéia usar um par de chaves dedicado apenas para o propósito da tarefa determinada enquanto restringe o que o username pode fazer via ssh.)

Se você usa openssh e se deseja inserir uma senha uma vez, usar um agente ssh é outra opção.

    
por 05.10.2016 / 15:31