web-dev-qa-db-fra.com

Comment supprimer un fichier sur une machine distante via SSH en utilisant un Script Shell?

J'écris un Script Shell où je dois supprimer un fichier sur une machine distante via un Script Shell.

Débit manuel:

ssh [email protected]

.. puis au domaine:

cd ./some/where
rm some_file.war

Comment accomplir cette tâche?

34
mico

Vous pouvez passer au client ssh une commande à exécuter à la place du démarrage d'un shell en l'ajoutant à la commande ssh.

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

Vous n'avez pas à cd à un emplacement pour supprimer quelque chose tant que vous spécifiez le chemin complet, c'est donc une autre étape que vous pouvez ignorer.

La question suivante est l'authentification. Si vous exécutez cela, vous serez invité à entrer un mot de passe. Si vous ne souhaitez pas entrer cela de manière interactive, vous devez configurer l'authentification publickey.

53
Caleb

Si vous souhaitez supprimer un fichier distant à l'aide de Sudo, vous devez exécuter quelque chose comme ceci:

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

Détails .

4

La commande ssh possède un paramètre de commande (dernier paramètre de la commande) que vous pouvez utiliser pour exécuter des commandes à distance.

2
Scott C Wilson

Configurez les clés sans mot de passe, puis ajoutez la commande dans le cadre de la commande ssh. Voir: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/

1
laebshade