it-swarm-ru.tech

Как удалить файл на удаленной машине через SSH с помощью Shell Script?

Я пишу сценарий оболочки, где я должен удалить файл на удаленной машине через сценарий оболочки.

Подача вручную:

ssh [email protected]

.. тогда в домене:

cd ./some/where
rm some_file.war

Как выполнить эту задачу?

34
mico

Вы можете передать клиенту ssh команду для выполнения вместо запуска командной консоли, добавив ее в команду ssh.

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

Вам не нужно cd к месту, чтобы удалить что-то, если вы указали полный путь, так что это еще один шаг, который вы можете пропустить.

Следующий вопрос - аутентификация. Если вы просто запустите это, вам будет предложено ввести пароль. Если вы не хотите вводить это в интерактивном режиме, вы должны настроить аутентификацию с помощью публичного ключа.

53
Caleb

Если вы хотите удалить удаленный файл с использованием Sudo, вам нужно выполнить что-то вроде этого:

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

подробности .

4
Vladislav Rastrusny

Команда ssh имеет параметр команды (последний параметр в команде), который вы можете использовать для запуска удаленных команд.

2
Scott C Wilson

Установите ключи без пароля, затем добавьте команду как часть команды ssh. См .: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/

1
laebshade