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

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

Поток вручную:

ssh [email protected]

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

cd ./some/where
rm some_file.war

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

28 голосов | спросил mico 27 J000000Wednesday11 2011, 15:44:41

4 ответа


42

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

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

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

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

ответил Caleb 27 J000000Wednesday11 2011, 16:30:35
3

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

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

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

ответил Vladislav Rastrusny 13 42014vEurope/Moscow11bEurope/MoscowThu, 13 Nov 2014 17:49:09 +0300 2014, 17:49:09
2

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

ответил Scott C Wilson 27 J000000Wednesday11 2011, 16:30:57
1

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

ответил laebshade 27 J000000Wednesday11 2011, 16:08:33

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132