Можно ли как-то без обновления страниц на Django отправить запрос через SSH на виртуальную машину под управлением Ubuntu?
Добрый день, у меня есть часто задаваемый вопрос, например,
<button>Check</button>
Можно ли как-то без обновления страницы отправить запрос по SSH на виртуальную машину под управлением Ubuntu?
Например:
The csgo server is on a permanent machine, it has possible options:
IP: 192.168.44.122/94.32.143.84
PORT for SSH: 44
USER NAME: test
PASSWORD: test
Django is on local machine 127.0.0.1:8000 or localhost:8000.
Сервер csgo запускается с помощью "./csgoserver start". Возможно ли как-то послать запрос с "./csgoserver start" на локальную машину, по нажатию кнопки на странице, для запуска сервера?
Искал информацию и не нашел. С помощью ajax, если я правильно понимаю, можно отправить запрос только если есть сервера на одной машине, так? Буду благодарен за ответ, где мне искать, что изучать, чтобы я смог реализовать эту идею. Один парень подсказал, что можно посмотреть в сторону REST, но я не могу понять, как реализовать то, что мне нужно через REST.
Итак, вы хотите выполнить скрипт/программу на машине (виртуальной машине) с другой машины (здесь ваша локальная машина).
- Да, SSH - это один из способов сделать это. Попробуйте
ssh -p 44 test@192.168.44.122 "csgoserver start"
(примечание: я предполагаю, что.
в./csgoserver start
- это домашний каталог пользователя..
означает "текущий каталог"... это другая тема, но убедитесь, что вы понимаете относительные и абсолютные пути в unix-подобных системах) .
- Это можно сделать на Python из вашего представления Django, которое должно получить запрос (ajax запрос подойдет, если вы не хотите, чтобы страница обновлялась) от нажатия кнопки (Как я могу отправить Ajax запрос на нажатие кнопки из формы с 2 кнопками?). Этот ответ должен помочь вам с деталями использования SSH в python: Выполнение команд по ssh с помощью Python .
Помните о безопасности перед публичным развертыванием (т.е. прочитайте документацию Django по аутентификации, CSRF-токенам и т.д.)