Skip to content

Commit 54f83c3

Browse files
committed
Bug fix: detect non-default SSH port for WebTerminal
1 parent e7823cf commit 54f83c3

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

WebTerminal/CPWebSocket.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,22 @@ class SSHServer(multi.Thread):
1212
OKGREEN = '\033[92m'
1313
ENDC = '\033[0m'
1414

15+
DEFAULT_PORT = 22
16+
17+
@staticmethod
18+
def findSSHPort():
19+
try:
20+
sshData = open('/etc/ssh/sshd_config', 'r').readlines()
21+
22+
for items in sshData:
23+
if items.find('Port') > -1:
24+
if items[0] == 0:
25+
pass
26+
else:
27+
SSHServer.DEFAULT_PORT = int(items.split(' ')[1])
28+
except:
29+
pass
30+
1531
def loadPublicKey(self):
1632
pubkey = '/root/.ssh/cyberpanel.pub'
1733
data = open(pubkey, 'r').read()
@@ -41,7 +57,7 @@ def __init__(self, websocket):
4157
## Load Public Key
4258
self.loadPublicKey()
4359

44-
self.sshclient.connect('127.0.0.1', 22, username='root', pkey=k)
60+
self.sshclient.connect('127.0.0.1', SSHServer.DEFAULT_PORT, username='root', pkey=k)
4561
self.shell = self.sshclient.invoke_shell(term='xterm')
4662
self.shell.settimeout(0)
4763

@@ -113,6 +129,8 @@ def handleClose(self):
113129
writeToFile.write(str(os.getpid()))
114130
writeToFile.close()
115131

132+
SSHServer.findSSHPort()
133+
116134
server = SimpleSSLWebSocketServer('0.0.0.0', '5678', WebTerminalServer, '/usr/local/lscp/conf/cert.pem', '/usr/local/lscp/conf/key.pem', version=ssl.PROTOCOL_TLSv1)
117135

118136
def close_sig_handler(signal, frame):

0 commit comments

Comments
 (0)