как удалить файл на удаленной машине через ssh с помощью shell script?

<p>я пишу сценарий оболочки, где я должен удалить файл на удаленной машине через сценарий оболочки.</p><p>подача вручную:</p><pre><code>ssh username@domain.com </code></pre><p>.. тогда в домене:</p><pre><code>cd ./some/where rm some\_file.war </code></pre><p>как выполнить эту задачу?</p>

<p>вы можете передать клиенту <code>ssh</code> команду для выполнения вместо запуска командной консоли, добавив ее в команду ssh.</p><pre><code>ssh username@domain.com 'rm /some/where/some\_file.war' </code></pre><p>вам не нужно <code>cd</code> к месту, чтобы удалить что-то, если вы указали полный путь, так что это еще один шаг, который вы можете пропустить.</p><p>следующий вопрос - аутентификация. если вы просто запустите это, вам будет предложено ввести пароль. если вы не хотите вводить это в интерактивном режиме, вы должны настроить аутентификацию с помощью публичного ключа.</p>

<p>если вы хотите удалить удаленный файл с использованием sudo, вам нужно выполнить что-то вроде этого:</p><pre><code>ssh -tt user@host 'stty raw -echo; sudo rm /path/to/file' < <(cat) </code></pre><p> <a href="https://unix.stackexchange.com/questions/122616/why-do-i-need-a-tty-to-run-sudo-if-i-can-sudo-without-a-password">подробности</a> .</p>

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

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