From d3e9c8c9c096d4c741a09e7d7058d2f7650ff0e4 Mon Sep 17 00:00:00 2001 From: ibuler Date: Sun, 25 Sep 2016 00:21:32 +0800 Subject: [PATCH] Replace ssh server dir --- .gitignore | 1 + apps/terminal/hands.py | 1 - apps/terminal/keys/README.md | 0 apps/terminal/keys/host_rsa_key | 27 ------------------------- ssh_server/__init__.py | 7 +++++++ {apps/terminal => ssh_server}/server.py | 10 +++++---- 6 files changed, 14 insertions(+), 32 deletions(-) delete mode 100644 apps/terminal/keys/README.md delete mode 100644 apps/terminal/keys/host_rsa_key create mode 100644 ssh_server/__init__.py rename {apps/terminal => ssh_server}/server.py (95%) diff --git a/.gitignore b/.gitignore index f8166b97a..38b5a999c 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ db.sqlite3 config.py migrations/ *.log +host_rsa_key diff --git a/apps/terminal/hands.py b/apps/terminal/hands.py index 065ff1a77..0133d394f 100644 --- a/apps/terminal/hands.py +++ b/apps/terminal/hands.py @@ -2,5 +2,4 @@ # -*- coding: utf-8 -*- # -from users.utils import ssh_key_gen, check_user_is_valid diff --git a/apps/terminal/keys/README.md b/apps/terminal/keys/README.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/terminal/keys/host_rsa_key b/apps/terminal/keys/host_rsa_key deleted file mode 100644 index 5b1aa9804..000000000 --- a/apps/terminal/keys/host_rsa_key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEAxreMFq9tp1hb2NOIkV7PqeyfS0GTJSfW2WcXuqkGPSVtPdYw -cJRY/s5eBn0KbO6JVj9yfwXNTKdnq1ODuuJDMnhTWXq1x7VICcou/69kFdSGiAzl -wfYP6LATEMCmpFRVi5UZip7SWopLE1JEw79nYWrbhUpDOpGTRKoIxoz+Uvg0h15G -pec3faL7PXj/J6j9pis44N1PCMBY3DVFPLopVcFpElbzwScNvZGBes90JoKLsqfD -Vjc9PUPjYjck9NFR6Xy0D5Gnw9MD5o0yK1l+3sibXjFBMOxA7aNxIlMhXQGol8R7 -3HBHWo/+Bwct3w1c8cPKfdPd8jGn3eWGYxupvQIDAQABAoIBADuyWDtYaDClsrHo -mlZRjUEW/KO3B2VaGoklF1PUAzPLUo4JEnQ/nJyvkj+QwNkIr+lhFhxiudIVWGd3 -p1M1Ncqrqx5uZr2gEAwg2Q2muwJz3hZxCXTDXvQgMRoPRgCH9UsBd7LVE4xvjy42 -wMGtdnkliNz5+khWA0/VZN2A7cYukrKzPwnhEMSrzYfnRwcOvp8pDp++Yjs3ZhQL -8+sgL1UDap5p5QZSQ98qJGNwmePAlTig+2Z5HvF+zussK2N7g5AcfghQFo5vCw/L -PXYtIfBH+Tv+6s7vMBMSLpbDcAZsxR9gDVUQi252Gu/nWClCzH3Kgu5ormHSOkYO -F6/n5AECgYEA69anuf52KWwYypVA73HiUbuzOdeuc1Br+s0uzOvpFX0HaqDxo8dm -N7FtUj/WnoqFivQrsrt4LpIzKn1XPNk7wMnwIZAQHNEI8sy7LBVh3RJOP2ZC2329 -ZHWxB3EVQ8Q5MbZy/AOn92UYwz8xIb0LweGYnHZlMp+xtOhdUR0/Z90CgYEA17R8 -EOeErksBRHotrEk0jLx+rrhK0JGcpXo/Dw6AOEp936DgHlqbkUURT2ejDOSQY/dN -7i4WeFJCVfFRNMbsitWxNmAdl3NJ5C2bV+7sz+oZfo5zP/e1RYCNLVjLxLYOHQ37 -GWwAlQr6fPcIZMCaPH+xq/0WSqcP96Lu6G0VG2ECgYB1XtcKkcFszAdqiu1OPXdN -BgUkfFqtuRCEOSlZgu71aswOHRslT09n2D13+Z1uObJMfUhiIzqkss4UD10jQ1mh -kN6ZVYEvVjkF3S4pulqCE2It207avbFMFeaMtZLHrxhnzU1cbtVhIkc4pHJnQBZh -30x8Uc/7ac6fIiWPAOdVYQKBgCi8rEWhA7zK64VcMa388VC29JHYukBjj5rs2GXm -ji6TWuxV/J2e7QxlZ9yALRntPJu0g+I8j//PQTnr5jM6ckfSDbLAOjZ1DnpqZpEX -zV+CzafKDVgCVxi2K3Np9qnC3C1+i3KEpCOBvEbHfK1Sdo6AazSZCpG0tV5GRipd -F4RhAoGAUJBoemipDjFoLSD3cpKpUXHIc6eieAI1GwYiL4CVugrvj5gO2B5c5yYb -3E8VWfuEHbBg0rmZIQ0sQf2ospZha7WBNhg9WB016aHyeZTIuHchfU4y3l2Jl8Re -enz4SSi6ZR6hgbJ9XzeiI+UTcDEuUzDUy9YktREuIBmMPXm7u5s= ------END RSA PRIVATE KEY----- diff --git a/ssh_server/__init__.py b/ssh_server/__init__.py new file mode 100644 index 000000000..f93d0bec7 --- /dev/null +++ b/ssh_server/__init__.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# + + +if __name__ == '__main__': + pass diff --git a/apps/terminal/server.py b/ssh_server/server.py similarity index 95% rename from apps/terminal/server.py rename to ssh_server/server.py index a04e1f628..e93e8761b 100644 --- a/apps/terminal/server.py +++ b/ssh_server/server.py @@ -21,7 +21,7 @@ import django from paramiko.py3compat import b, u, decodebytes BASE_DIR = os.path.abspath(os.path.dirname(__file__)) -APP_DIR = os.path.dirname(BASE_DIR) +APP_DIR = os.path.join(os.path.dirname(BASE_DIR), 'apps') sys.path.append(APP_DIR) os.environ['DJANGO_SETTINGS_MODULE'] = 'jumpserver.settings' @@ -32,7 +32,7 @@ except IndexError: from django.conf import settings from common.utils import get_logger -from hands import ssh_key_gen, check_user_is_valid +from users.utils import ssh_key_gen, check_user_is_valid logger = get_logger(__name__) @@ -45,7 +45,7 @@ class SSHService(paramiko.ServerInterface): # good_pub_key = paramiko.RSAKey(data=decodebytes(data)) # host_key = paramiko.RSAKey(filename='test_rsa.key') - host_key_path = os.path.join(BASE_DIR, 'keys', 'host_rsa_key') + host_key_path = os.path.join(BASE_DIR, 'host_rsa_key') def __init__(self): self.event = threading.Event() @@ -211,7 +211,9 @@ class SSHServer: try: client, addr = self.sock.accept() print('Listening for connection ...') - threading.Thread(target=self.handle_ssh_request, args=(client, addr)).start() + t = threading.Thread(target=self.handle_ssh_request, args=(client, addr)) + t.daemon = True + t.start() except Exception as e: print('*** Bind failed: ' + str(e)) traceback.print_exc()