Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Удалить папку на удалённой машине  (Прочитано 890 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн qwrerwerwerewr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Удалить папку на удалённой машине
« : 16 Октября 2015, 16:13:18 »
Всем привет!
Нужно удалить папку на удалённой машине через sh скрипт.
ssh настроен. К примеру scp -r /home/user/fff// qwe@1.2.1.2:/home/ss/ срабатывает без ввода пароля

Теперь необходимо удалить папку. Вот мой скрипт:
#!/bin/sh
ssh qwe@1.2.1.2
cd /home/ss/
rm -r /ff/

В результате происходит подключение к серверу, а дальнейшие команды игнорируются.
Мне нужно именно запускать через скрипт. Если просто последовательно вводить команды в терминал - всё работает нормально.
« Последнее редактирование: 16 Октября 2015, 16:16:32 от qwrerwerwerewr »

Оффлайн _art_

  • Активист
  • *
  • Сообщений: 377
    • Просмотр профиля
Re: Удалить папку на удалённой машине
« Ответ #1 : 17 Октября 2015, 09:18:00 »
Ну а... это самое... когда вы по ssh зашли на компьютер ( ssh qwe@1.2.1.2 ) пароль кто будет вводить ?
Что-то я не вижу у вас в скрипте этого...
Как настроена аутентификация ? По текстовому паролю/ключу ?

Оффлайн qwrerwerwerewr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Удалить папку на удалённой машине
« Ответ #2 : 17 Октября 2015, 18:01:14 »
аутентификация настроена по ключу. такой скрпт отрабатывает нормально без ввода пароля:

#!/bin/sh
scp -r /home/user/fff/ qwe@1.2.1.2:/home/ss/

А вот в результате этого скрипта:
#!/bin/sh
ssh qwe@1.2.1.2
cd /home/ss/
rm -r /ff/
 
происходит подключение к серверу, а дальнейшие команды игнорируются.


« Последнее редактирование: 17 Октября 2015, 18:13:28 от qwrerwerwerewr »

Оффлайн _art_

  • Активист
  • *
  • Сообщений: 377
    • Просмотр профиля
Re: Удалить папку на удалённой машине
« Ответ #3 : 17 Октября 2015, 18:25:36 »
Ясно. Дело оказалось не в этом.

Изучите статью: http://thornelabs.net/2013/08/21/simple-ways-to-send-multiple-line-commands-over-ssh.html

Пример рабочего скрипта:
#!/bin/bash

HELLO="world"

ssh $HOST bash -c "'
ls

pwd

if true; then
    echo $HELLO
else
    echo "This is false"
fi

echo "Hello world"
'"

По состоянию на 16/06/2019 тема не получает никакого развития. Последняя активность ТС на форуме на данный момент времени: 17 Октября 2015 (33 месяца назад).
Проблема с высокой долей вероятности не может быть воспроизведена на современном железе и современном ПО другими пользователями. Поэтому, дабы никого не путать, тема признается модератором подлежащей закрытию и последующей архивации. Закрыто
--zg_nico
« Последнее редактирование: 16 Июня 2019, 14:59:12 от zg_nico »

 

Страница сгенерирована за 0.045 секунд. Запросов: 23.