it-swarm.it

Come eliminare un file su una macchina remota tramite SSH usando uno script di shell?

Sto scrivendo uno script di shell in cui devo eliminare un file su una macchina remota tramite uno script di shell.

Flusso manuale:

ssh [email protected]

.. quindi nel dominio:

cd ./some/where
rm some_file.war

Come eseguire quel compito?

34
mico

È possibile passare al client ssh un comando da eseguire al posto dell'avvio di una Shell aggiungendolo al comando ssh.

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

Non è necessario cd in una posizione per rimuovere qualcosa fintanto che si specifica il percorso completo, quindi è possibile saltare un altro passaggio.

La prossima domanda è l'autenticazione. Se lo esegui, ti verrà richiesta una password. Se non si desidera inserirlo in modo interattivo, è necessario impostare l'autenticazione con chiave pubblica.

53
Caleb

Se si desidera eliminare il file remoto con l'uso di Sudo, è necessario eseguire qualcosa del genere:

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

Dettagli .

4

Il comando ssh ha un parametro di comando (ultimo parametro nel comando) che è possibile utilizzare per eseguire comandi remoti.

2
Scott C Wilson

Imposta le chiavi senza password quindi aggiungi il comando come parte del comando ssh. Vedi: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/

1
laebshade