Відповіді:
Ви можете передати sshклієнту команду для виконання замість запуску оболонки, додавши її до команди ssh.
ssh username@domain.com 'rm /some/where/some_file.war'
Не потрібно до cdмісця, щоб щось видалити, поки ви вказали повний шлях, тож ще один крок, який ви можете пропустити.
Наступне питання - автентифікація. Якщо ви просто запустите це, вам буде запропоновано ввести пароль. Якщо ви не хочете вводити це інтерактивно, вам слід налаштувати аутентифікацію publickey.
-fдо rmвиконання віддаленого дзвінка?
rmвони, безумовно, повинні бути передані абоненту, якщо користувач не знає, чого очікувати і чому вони щось перекривають. Пізніше помилок та розчарувальної налагодження можна уникнути, лише скориставшись потрібними параметрами в даному сенаріо.
-fОпція до rmскороченої --forceта впливає на те, чи не є помилки для неіснуючих файлів або фальшивих аргументів. Зазвичай команди виконуються за неінтерактивними оболонками за замовчуванням, щоб все-таки бути менш інтерактивними, але це не так, або ви отримуєте інтерактивну підказку, що потрібно зробити, щоб виправити налаштування, безпосередньо пов’язані з цим. Якщо ви сценарії це ви не повинні мати це питання в будь-якому випадку, і якщо ви перебуваєте в інтерактивній оболонці (де у вас є можливість катастрофічних помилок) , ви повинні використовувати -Iна , --interactive=neverщоб встановити бажану поведінку.
Якщо ви хочете видалити віддалений файл за допомогою sudo, вам потрібно виконати щось подібне:
ssh -tt user@host 'stty raw -echo; sudo rm /path/to/file' < <(cat)
Деталі .
У команді ssh є параметр команди (останній параметр у команді), який можна використовувати для запуску віддалених команд.
Встановіть незахищені ключі, потім додайте команду як частину команди ssh. Дивіться: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/