Php és ssh2

Php és ssh2
2015-12-23T14:08:16+01:00
2022-05-03T20:55:50+02:00
2022-08-12T08:45:30+02:00
HTMLCSSPHP
Sziasztok!


Egy olyan php oldalt írok amelyen a cs szervereimet tudom elindítani méghozzás ssh2 segítségével ven egy kódom ami valami maitt nem fut le. Szerintetek mért nem fut le?



A kód

<?php require_once 'page/conn.php'; function Start($owner,$type,$dir,$id,$port,$slot){ $szervergep_leker = mysql_query("SELECT * FROM szervergepek")or die("Lekérdezési hiba"); $szervergep_row = mysql_fetch_array($szervergep_leker); if(!$connection = ssh2_connect($szervergep_row['ip'], $szervergep_row['port'])){ echo 'SSH lost the connection.. Hiba:SSH001'; }else{ if(!ssh2_auth_password($connection, $szervergep_row['root'], $szervergep_row['rootpw'])){ echo 'SSH lost the user connection.. Hiba:SSH002'; }else{ if($type == "cs"){ $command = "cd /home/users/admin_15_592/cs; ./hlds_run -console -game cstrike +ip 178.238.41.169 +port 20715 +sv_lan 0 +maxplayers 20 +map de_dust2"; ssh2_exec($connection, $command); //$asd = shell_exec('rm -R '.$dir.'/cs/screenlog.0 && cd '.$dir.'/cs && screen -L -A -m -d -S '.$owner.''.$id.' ./hlds_run -console -game cstrike +ip 213.181.201.101 +port '.$port.' +sv_lan 0 +maxplayers '.$slot.' +map de_dust2 +sv_pure 0 -tikrate 66 '); /*if(!ssh2_exec($connection, 'cd '.$dir.'; wget http://data.hu/get/9340866/0.3.7.zip')){ echo "Nem msikerült elindítani"; }else{echo "sikeres elindítás";}*/ /*$sshparancs = "screen -r 8019"; ssh2_exec($connection, $sshparancs);*/ // execute a command //ssh2_exec($connection, 'command1;command2'); //ssh2_exec($connection, 'cd '.$dir.'; wget http://data.hu/get/9340866/0.3.7.zip'); } //'cd /home/users/admin_15_999/cs ; /.hlds_run -console -game cstrike +ip 178.238.41.169 +port 20717 +sv_lan 0 +maxplayers 20 +map de_dust2' } } return; } ?>
Mutasd a teljes hozzászólást!
Ehhez mindenképp telepíteni kell az PHP SSH2 bővítményét. Linux (Ubuntu vagy Debian) alatt az alábbiak szerint:

apt-get install libssh2-php

Majd ezzel a kóddal tudsz egy parancsot lefuttatni

<?php if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist"); // kapcsolódás az example.hu szerverhez, a 22-es porton if(!($con = ssh2_connect("example.hu", 22))){ echo "Hiba: nem lehet kapcsolódni a szerverhez\n"; }else{ // csatlakozás root felhasználónévvel és jelszóval if(!ssh2_auth_password($con, "root", "jelszo123")){ echo "Hiba: nem sikerült bejelentkezni\n"; }else{ echo "Bejelentkezve...\n"; // parancs lefuttatása if(!($stream = ssh2_exec($con, "ls -al" ))){ echo "Hiba: nem lehet lefuttatni a parancsot\n"; } } } ?>
Figyelj oda, hogy engedélyezve legyen a jelszóval való bejelentkezés. Egyes rendszerekben a közvetlen root felhasználóval való bejelentkezés is tiltva van.

/etc/ssh/sshd_config fájlba az alábbi beállítás legyen:

PasswordAuthentication yes
PermitRootLogin yes

Majd indítsd újra az SSH-t az alábbi paranccsal:

service ssh restart
Mutasd a teljes hozzászólást!

abcd