Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
L
Liman MYS - Çekirdek
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
liman
Liman MYS - Çekirdek
Commits
c835f593
Kaydet (Commit)
c835f593
authored
May 13, 2020
tarafından
mertcelen
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
SSH Custom port support added
Fix for #LMYS-12
üst
34c2d76f
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
73 additions
and
16 deletions
+73
-16
Connector.php
app/Classes/Connector/Connector.php
+2
-1
SSHCertificateConnector.php
app/Classes/Connector/SSHCertificateConnector.php
+6
-5
SSHConnector.php
app/Classes/Connector/SSHConnector.php
+9
-7
WinRMConnector.php
app/Classes/Connector/WinRMConnector.php
+2
-1
AddController.php
app/Http/Controllers/Server/AddController.php
+3
-2
2020_05_13_124101_add_key_port_to_servers.php
.../migrations/2020_05_13_124101_add_key_port_to_servers.php
+50
-0
index.blade.php
resources/views/server/index.blade.php
+1
-0
connector
storage/connector
+0
-0
No files found.
app/Classes/Connector/Connector.php
Dosyayı görüntüle @
c835f593
...
...
@@ -21,6 +21,7 @@ interface Connector
$username
,
$password
,
$user_id
,
$key
$key
,
$port
=
null
);
}
app/Classes/Connector/SSHCertificateConnector.php
Dosyayı görüntüle @
c835f593
...
...
@@ -30,7 +30,7 @@ class SSHCertificateConnector implements Connector
public
function
__construct
(
\App\Server
$server
,
$user_id
)
{
list
(
$username
,
$password
)
=
self
::
retrieveCredentials
();
self
::
init
(
$username
,
$password
,
$server
->
ip_address
);
self
::
init
(
$username
,
$password
,
$server
->
ip_address
,
$server
->
key_port
?
$server
->
key_port
:
22
);
return
true
;
}
...
...
@@ -67,7 +67,7 @@ class SSHCertificateConnector implements Connector
public
function
sendFile
(
$localPath
,
$remotePath
,
$permissions
=
0644
)
{
if
(
$this
->
sftp
==
null
)
{
$sftp
=
new
SFTP
(
server
()
->
ip_address
);
$sftp
=
new
SFTP
(
server
()
->
ip_address
,
server
()
->
key_port
);
list
(
$username
,
$password
)
=
self
::
retrieveCredentials
();
if
(
!
$sftp
->
login
(
$username
,
$password
))
{
return
false
;
...
...
@@ -117,7 +117,8 @@ class SSHCertificateConnector implements Connector
$username
,
$password
,
$user_id
,
$key
$key
,
$port
=
null
)
{
return
true
;
}
...
...
@@ -145,9 +146,9 @@ class SSHCertificateConnector implements Connector
return
[
lDecrypt
(
$username
[
"value"
]),
lDecrypt
(
$password
[
"value"
])];
}
public
function
init
(
$username
,
$password
,
$hostname
,
$putSession
=
true
)
public
function
init
(
$username
,
$password
,
$hostname
,
$p
ort
=
22
,
$p
utSession
=
true
)
{
$ssh
=
new
SSH2
(
$hostname
);
$ssh
=
new
SSH2
(
$hostname
,
$port
);
$key
=
new
RSA
();
$key
->
loadKey
(
$password
);
if
(
!
$ssh
->
login
(
$username
,
$key
))
{
...
...
app/Classes/Connector/SSHConnector.php
Dosyayı görüntüle @
c835f593
...
...
@@ -33,7 +33,7 @@ class SSHConnector implements Connector
{
if
(
!
ConnectorToken
::
get
(
$server
->
id
)
->
exists
())
{
list
(
$username
,
$password
)
=
self
::
retrieveCredentials
();
self
::
init
(
$username
,
$password
,
$server
->
ip_address
);
self
::
init
(
$username
,
$password
,
$server
->
ip_address
,
$server
->
key_port
?
$server
->
key_port
:
22
);
}
return
true
;
...
...
@@ -90,7 +90,7 @@ class SSHConnector implements Connector
public
static
function
verify
(
$ip_address
,
$username
,
$password
,
$port
)
{
$token
=
self
::
init
(
$username
,
$password
,
$ip_address
,
false
);
$token
=
self
::
init
(
$username
,
$password
,
$ip_address
,
$port
,
false
);
if
(
$token
)
{
return
respond
(
"Kullanıcı adı ve şifre doğrulandı."
,
200
);
}
...
...
@@ -119,9 +119,10 @@ class SSHConnector implements Connector
$username
,
$password
,
$user_id
,
$key
$key
,
$port
=
null
)
{
$token
=
self
::
init
(
$username
,
$password
,
$server
->
ip_address
);
$token
=
self
::
init
(
$username
,
$password
,
$server
->
ip_address
,
$port
?
$port
:
22
);
if
(
$token
)
{
return
true
;
}
else
{
...
...
@@ -156,7 +157,7 @@ class SSHConnector implements Connector
{
if
(
!
ConnectorToken
::
get
(
server
()
->
id
)
->
exists
())
{
list
(
$username
,
$password
)
=
self
::
retrieveCredentials
();
self
::
init
(
$username
,
$password
,
server
()
->
i
d
);
self
::
init
(
$username
,
$password
,
server
()
->
i
p_address
,
server
()
->
key_port
?
server
()
->
key_port
:
22
);
}
// Create Guzzle Object.
$client
=
new
Client
();
...
...
@@ -181,7 +182,7 @@ class SSHConnector implements Connector
// If it's first time, retry after recreating ticket.
if
(
$retry
)
{
list
(
$username
,
$password
)
=
self
::
retrieveCredentials
();
self
::
init
(
$username
,
$password
,
server
()
->
ip_address
);
self
::
init
(
$username
,
$password
,
server
()
->
ip_address
,
server
()
->
key_port
?
server
()
->
key_port
:
22
);
return
self
::
request
(
$url
,
$params
,
$retry
-
1
);
}
else
{
// If nothing works, abort.
...
...
@@ -197,6 +198,7 @@ class SSHConnector implements Connector
$username
,
$password
,
$hostname
,
$port
,
$putSession
=
true
)
{
$client
=
new
Client
();
...
...
@@ -209,6 +211,7 @@ class SSHConnector implements Connector
"username"
=>
$username
,
"password"
=>
$password
,
"hostname"
=>
$hostname
,
"port"
=>
$port
,
"connection_type"
=>
"ssh"
,
],
'timeout'
=>
5
,
...
...
@@ -217,7 +220,6 @@ class SSHConnector implements Connector
}
catch
(
\Exception
$e
)
{
return
null
;
}
$json
=
json_decode
((
string
)
$res
->
getBody
());
//Escape For . character in session.
if
(
$putSession
)
{
...
...
app/Classes/Connector/WinRMConnector.php
Dosyayı görüntüle @
c835f593
...
...
@@ -204,7 +204,8 @@ class WinRMConnector implements Connector
$username
,
$password
,
$user_id
,
$key
$key
,
$port
=
null
)
{
$token
=
self
::
init
(
$username
,
$password
,
$server
->
ip_address
);
if
(
$token
)
{
...
...
app/Http/Controllers/Server/AddController.php
Dosyayı görüntüle @
c835f593
...
...
@@ -45,7 +45,7 @@ class AddController extends Controller
$this
->
server
=
new
Server
();
$this
->
server
->
fill
(
request
()
->
all
());
$this
->
server
->
user_id
=
auth
()
->
id
();
request
(
'key_port'
)
?
$this
->
server
->
key_port
=
request
(
'key_port'
)
:
null
;
// Check if Server is online or not.
if
(
!
$this
->
server
->
isAlive
())
{
return
respond
(
"Sunucuyla bağlantı kurulamadı."
,
406
);
...
...
@@ -133,7 +133,8 @@ class AddController extends Controller
request
(
'username'
),
request
(
'password'
),
auth
()
->
id
(),
null
null
,
$this
->
server
->
key_port
,
);
if
(
!
$flag
)
{
...
...
database/migrations/2020_05_13_124101_add_key_port_to_servers.php
0 → 100644
Dosyayı görüntüle @
c835f593
<?php
use
Illuminate\Database\Migrations\Migration
;
use
Illuminate\Database\Schema\Blueprint
;
use
Illuminate\Support\Facades\Schema
;
use
App\Server
;
use
App\ConnectorToken
;
class
AddKeyPortToServers
extends
Migration
{
/**
* Run the migrations.
*
* @return void
*/
public
function
up
()
{
Schema
::
table
(
'servers'
,
function
(
Blueprint
$table
)
{
$table
->
integer
(
'key_port'
)
->
nullable
();
});
//Update current server objects.
$servers
=
Server
::
whereIn
(
'type'
,[
'linux_ssh'
,
'linux_certificate'
,
'windows_powershell'
])
->
get
();
foreach
(
$servers
as
$server
){
if
(
$server
->
key_port
==
null
){
if
(
$server
->
type
==
"windows_powershell"
){
$server
->
key_port
=
5986
;
}
else
{
$server
->
key_port
=
22
;
}
$server
->
save
();
}
}
// Delete current tokens.
ConnectorToken
::
truncate
();
}
/**
* Reverse the migrations.
*
* @return void
*/
public
function
down
()
{
Schema
::
table
(
'servers'
,
function
(
Blueprint
$table
)
{
//
});
}
}
resources/views/server/index.blade.php
Dosyayı görüntüle @
c835f593
...
...
@@ -333,6 +333,7 @@
form
.
append
(
'password'
,
$
(
"#keyPassword"
).
val
());
}
form
.
append
(
'type'
,
$
(
"#keyType"
).
val
());
form
.
append
(
'key_port'
,
$
(
"#port"
).
val
());
}
else
{
form
.
append
(
'type'
,
$
(
"input[name=operating_system]:checked"
).
val
());
}
...
...
storage/connector
Dosyayı görüntüle @
c835f593
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment