Kaydet (Commit) 5ead2f2e authored tarafından mertcelen's avatar mertcelen

-Slow ssh issues fixed.

-SSH Trust reworked, now it prevents readding trust key to local file to prevent overload.
üst 41e5003f
......@@ -95,4 +95,11 @@ class OneController extends Controller
}
}
public function runFunction(){
$extension = Extension::where('_id',request('extension_id'))->first();
require(base_path('resources/views/extensions/' . strtolower($extension->name) . '/functions.php'));
call_user_func('hello_world');
}
}
......@@ -38,4 +38,7 @@ Route::post('/eklentiler/betikler/ekle', 'Extension\SettingsController@addScript
// Extension View Script Remove
Route::post('/eklentiler/betikler/sil', 'Extension\SettingsController@removeScriptFromView')->name('extension_page_script_remove');
\ No newline at end of file
Route::post('/eklentiler/betikler/sil', 'Extension\SettingsController@removeScriptFromView')->name('extension_page_script_remove');
// Extension Function Api
Route::get('/eklenti/{extension_id}/{function_name}','Extension\OneController@runFunction')->name('extension_function_api');
\ No newline at end of file
......@@ -21,8 +21,11 @@ class Key extends Eloquent
shell_exec("ssh-keygen -t rsa -f " . storage_path('keys') . DIRECTORY_SEPARATOR . $account_name ." -q -P ''");
}
//Trust target server
shell_exec("ssh-keyscan -p " . $server_port . " -H ". $server_address . " >> ~/.ssh/known_hosts");
//Check if server is already trusted or not.
if(shell_exec("ssh-keygen -F " . $server_address . " 2>/dev/null") == null){
// Trust Target Server
shell_exec("ssh-keyscan -p " . $server_port . " -H ". $server_address . " >> ~/.ssh/known_hosts");
}
//Send Keys to target
shell_exec("sshpass -p '" . $password . "' ssh-copy-id -i " . storage_path('keys') . DIRECTORY_SEPARATOR . $account_name ." " . $username
......@@ -40,8 +43,11 @@ class Key extends Eloquent
shell_exec("ssh-keygen -t rsa -f " . storage_path('keys') . DIRECTORY_SEPARATOR . $new_name ." -q -P ''");
}
//Trust target server
shell_exec("ssh-keyscan -p " . $server_port . " -H ". $server_address . " >> ~/.ssh/known_hosts");
//Check if server is already trusted or not.
if(shell_exec("ssh-keygen -F " . $server_address . " 2>/dev/null") == null){
// Trust Target Server
shell_exec("ssh-keyscan -p " . $server_port . " -H ". $server_address . " >> ~/.ssh/known_hosts");
}
//Send Keys to target
shell_exec('cat ' . storage_path('keys') . DIRECTORY_SEPARATOR . $new_name . ".pub | ssh -i " .
......
......@@ -120,8 +120,11 @@ class Server extends Eloquent
if ($key == null) {
return false;
}
// Trust server again just in case.
shell_exec("ssh-keyscan -p " . $this->port . " -H " . $this->ip_address . " >> ~/.ssh/known_hosts");
//Check if server is already trusted or not.
if(shell_exec("ssh-keygen -F " . $this->ip_address . " 2>/dev/null") == null){
// Trust Target Server
shell_exec("ssh-keyscan -p " . $this->port . " -H ". $this->ip_address . " >> ~/.ssh/known_hosts");
}
// Fix key file permissions again, just in case.
$query = "chmod 400 " . storage_path('keys') . DIRECTORY_SEPARATOR . Auth::id();
......
<?php
function hello_world(){
echo "hello world";
function _init($ip, $port, $password, $rdn){
$ldap_connection = ldap_connect($ip, $port);
ldap_set_option($ldap_connection, LDAP_OPT_PROTOCOL_VERSION, 3);
try{
ldap_bind($ldap_connection,$rdn,$password);
}catch (Exception $e){
echo $e->getMessage();
}
return $ldap_connection;
}
function _search($connection, $dn ,$filter, $extra){
$search = ldap_search($connection, $dn, $filter, $extra);
$results = ldap_get_entries($connection, $search);
$mert = [];
for($i = 0 ; $i < $results["count"] ; $i++){
$user = $results[$i]["dn"];
$arr = explode(",", $user);
$arr = array_reverse($arr);
$res = array();
$t = &$res;
foreach ($arr as $k) {
if (empty($t[$k])) {
if(!starts_with($k,"cn")){
$t[$k] = array();
}else{
$t[$k] = $k;
}
$t = &$t[$k];
}
}
unset($t);
$mert = array_merge_recursive($mert,$res);
}
return $mert;
}
\ No newline at end of file
<?php
$ldap_connection = ldap_connect($server->ip_address);
ldap_set_option($ldap_connection, LDAP_OPT_PROTOCOL_VERSION, 3);
$conn = _init($server->ip_address, $server->port, "SambaPardus01", "cn=admin,dc=ldap,dc=lab");
$pass = "SambaPardus01";
try{
$result = ldap_bind($ldap_connection,"cn=admin,dc=ldap,dc=lab",$pass);
}catch (Exception $e){
echo $e->getMessage();
}
$search = ldap_search($ldap_connection, "dc=ldap,dc=lab" , "(objectclass=posixAccount)", ["dn"]);
$users = ldap_get_entries($ldap_connection, $search);
$mert = [];
$user_details = [];
for($i = 0 ; $i < $users["count"] ; $i++){
$user = $users[$i]["dn"];
$arr = explode(",", $user);
$arr = array_reverse($arr);
$current = [];
$tail = null;
$res = array();
$t = &$res;
foreach ($arr as $k) {
if (empty($t[$k])) {
if(!starts_with($k,"cn")){
$t[$k] = array();
}else{
$t[$k] = $k;
$search = ldap_search($ldap_connection, "dc=ldap,dc=lab", $k);
$attributes = ldap_get_entries($ldap_connection, $search)[0];
$user_details["cn=" . $attributes["cn"][0]]["uid"] = $attributes["uid"][0];
$user_details["cn=" . $attributes["cn"][0]]["uidnumber"] = $attributes["uidnumber"][0];
$user_details["cn=" . $attributes["cn"][0]]["homedirectory"] = $attributes["homedirectory"][0];
$user_details["cn=" . $attributes["cn"][0]]["gidnumber"] = $attributes["gidnumber"][0];
$user_details["cn=" . $attributes["cn"][0]]["cn"] = $attributes["cn"][0];
}
$t = &$t[$k];
}
}
unset($t);
$mert = array_merge_recursive($mert,$res);
}
$results = _search($conn, "dc=ldap,dc=lab" , "(objectclass=posixAccount)", ["dn"]);
?>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
......@@ -90,7 +52,7 @@
"plugins" : ["search"],
'core' : {
'data' : [
@include("__system__.folder",["files" => $mert])
@include("__system__.folder",["files" => $results])
]
}
});
......
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAzpQSCBvij2klRGeKYZP50nv8ySK8SjNmXPwhfAMC7hE030Gh
WJGbEPvOYKffmNso3Tnk9md8ykgUVrA+1f0LasZGORhFQlqS2FNfENK7/eugAuDz
EeDUEz9caa/+5xiDxWwdpq2i5AuEFmFcSZ+oh8zQedh79UrD+S1oUr4yM5v+vAq8
ksFCHk5Np1O7dbtcBkgjmBxv03SuRxldN8OQSHlPycaRQlb9P0x+LW0WC+HFSnox
EkqaFM5oyGHCfq6jdz+gObW/crjLeji3s9DXWxNDK67QIFkloiYVBNu3QVrbTuGT
o0b8ExZGH0Vfn5m4s3g6UCQL7LGCbHTvOR8r+wIDAQABAoIBACuEid/nb+ziK5Wj
ckVoFOLAd9ovVRcUiOXhv3QOdlmMimTVwJWV5uLHCQzXkIT09kDUZ2V5G5LJaG9y
pWoS6orNxhFVCZIW3oRv28EBg9TUBFtW5B3KDSMY3/DrwHkScv/t7LkmLwB3ZJYK
YJSp66jf/rMMZeCgpXQimq2Dn7O7Mh34faHCU/dFLT8SC3UUoMQzRWQC0CtdbMVW
ECFImL5nvPPhJvs8F37CaNX70YuqswqYVMNvNxvIccG06FIE57bVtQYgkOoc1imR
6r+KCgyD1dEV5lTQZycUxrbY06H1ti4Dw4JeMxyE01RufYwJQ87X+ib6Wmb2OXcj
tQH9O7ECgYEA61v+vJ1/7Vu2wAePxInr7OHJmtpPlnO7AD1CSEgw0qx5FZrCB3UG
kIMWz3UjKKNyarD/L4WskQfxNJ86mOZ+cbGhhoS8XUTRg3C2MMhPW5yo0lY9OaHU
Hd7vamyRsxfGbHTxj7+3N6/4IRaPiZlgUtX3v3EGGBi1g4AxLvGk9PcCgYEA4LHr
hTzxHuHx66r6eF15qJwFA1vapDoz1h0SbZ50QYpW3tl/PNfAmCV1qYVIyVVeWw7B
hGQCYNANbFeby5pkAe/LWN3GjqtLJabJih6OxH60kXOnq0ktZfgGPJtWsMevzKUq
i27vAwxNW2o2ANkdB9CZpHas5Arb6Lh4x8as9B0CgYEAkxYqC7wuX6sqebYADibX
r3Gn6cO3a2ImIs8l5kBfarno7iyKR9jF4nhaQAqHj3UeIzk8MXnLz9Nz1ZwRJc8e
hHUragL4KR3CBe/hnHkCx1EPXGwS1TqicoyJeSwinhckpVEsSdbZbM7nNd6Ak9Cr
lvkrXJQI5/RBM85gbmML4R8CgYEAgUd9FgTxSm5/rbOLNvO5Sryx2bPgwXrHVlsV
vkJb61W4E7IaFhygsCllYGrSbRyUFFoSF6UfBSrPflWNywCCp+abHf9D/dQqgXhM
Hw7j38RzCfj8MH4DA9dHZ1mM8FuEF3+0UdM664sJex5KAgTpQhTQQaMSaIai7mws
+eyimDUCgYEAltA3eL6p4OEAn2/hxYfKKFuIGyXeqjLfukDLS2G2W1K64He24ZKO
fzqISFjmAcX0zNh9pGWppm/k/DnjrFRvM1wDcsjqMXvYoOsY7okaRiQole8bSpOo
S3Azbaq/FEkxgL616FpBZWx3YA0BnEGAzVzUxJXY5dZLt/jSU0nZXVw=
-----END RSA PRIVATE KEY-----
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOlBIIG+KPaSVEZ4phk/nSe/zJIrxKM2Zc/CF8AwLuETTfQaFYkZsQ+85gp9+Y2yjdOeT2Z3zKSBRWsD7V/QtqxkY5GEVCWpLYU18Q0rv966AC4PMR4NQTP1xpr/7nGIPFbB2mraLkC4QWYVxJn6iHzNB52Hv1SsP5LWhSvjIzm/68CrySwUIeTk2nU7t1u1wGSCOYHG/TdK5HGV03w5BIeU/JxpFCVv0/TH4tbRYL4cVKejESSpoUzmjIYcJ+rqN3P6A5tb9yuMt6OLez0NdbE0MrrtAgWSWiJhUE27dBWttO4ZOjRvwTFkYfRV+fmbizeDpQJAvssYJsdO85Hyv7 mert@pardus17011
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment