Найти - Пользователи
Полная версия: SSH и Python скрипт
Начало » Python для новичков » SSH и Python скрипт
1
evilgamers147
Здравствуйте,дорогие друзья такой вопрос. Как реализовать в Python скрипте авторизация по ssh и отправлять команды с сайта
def serverCommand():
	os.system('su -lc "login '+ username +' " ')
	os.system('su -lc " ' + crypt.crypt(password, salt) + '  " ')
	os.system('su -lc " screen -x  " ')
	os.system('su -lc "  command    " ')	
	return True	

Так-с начнем:
username = 'gs' + str(serverid)
При создание пользователя получается например так, gs8, 8 - это ID пользователя в базе данных,оно создается с помощью LitePanel,когда заказывается сервер,записывается в базе данных,и отправляется запрос по libssh2-php на python скрипт,gs8 используют так же как и FTP пользователь и так же можно подключаться по SSH,и доступен для него лишь команда
screen -x
это “высвечивает” “консоль” игры запуска,как в игре MineCraft при запуске включается консоль где можно выдавать определенные команды.

+ crypt.crypt(password, salt) +
Пароль берется с базы данных,которую вводишь при заказе сервера

Теперь,вопрос как можно реализовать в python так что бы,при вводе команды на сайте,после нажатие на кнопку “Выполнить”,должен отправиться команда в python,например ввел там
 /op user
выдавался права Бога,я лишь новичок в языке python и на вашем форуме,прошу вас помочь

P.S. Команда не записывать в базе данных,если что
evilgamers147
Вот сам код с сайта,для отправки команд

	case 'command': {
				if($server['server_status'] == 2) {
					$result = $this->serversModel->execServerAction($serverid, 'command');
					if($result['status'] == "OK") {
						$this->serversModel->updateServer($serverid, array('server_status' => 2));
						$this->data['status'] = "success";
						$this->data['success'] = "Команда успешно отправлено!";
					} else {
						$this->data['status'] = "error";
						$this->data['error'] = $result['description'];
					}
				} else {
					$this->data['status'] = "error";
					$this->data['error'] = "Сервер должен быть включен!";
				}
				break;
			}		


 <div class="panel panel-default">
					<div class="panel-heading">Отправка команд серверу</div>
					<div class="panel-body" id="console_body">
					<table class="table">
					<tr><th>
					<center>
											
						<div class="input-group col-xs-12">
							    <input placeholder="Введите команду" class="form-control2" type="text" id="command">
						            <span class="input-group-btn">
                      <button type="button" onClick="sendAction('<?php echo $server['server_id'] ?>', 'command', '<?php echo $server['server_password'] ?>', '<?php echo $server['location_id'] ?>')" class="btn btn-default">Выполнить</button>
			            </span>
						    </div>
							 </th></tr></table>
				</div>
				</div>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB