diff --git a/.idea/jumpserver.iml b/.idea/jumpserver.iml
index 68c3f23cd..94e54876c 100644
--- a/.idea/jumpserver.iml
+++ b/.idea/jumpserver.iml
@@ -2,7 +2,7 @@
-
+
diff --git a/jumpserver.py b/jumpserver.py
index 4f19f2c7c..da3bdefae 100755
--- a/jumpserver.py
+++ b/jumpserver.py
@@ -132,7 +132,6 @@ def connect(host, port, user, password):
signal.signal(signal.SIGWINCH, sigwinch_passthrough)
size = getwinsize()
foo.setwinsize(size[0], size[1])
- print "\033[32;1mLogin %s success!\033[0m" % host
foo.interact()
break
elif index == 0:
@@ -259,19 +258,26 @@ def exec_cmd_servers(username):
def connect_one(username, option):
- ip = option.strip()
+ ip_input = option.strip()
ip_all, ip_all_dict = ip_all_select(username)
- ip_matched = match_ip(ip_all, ip)
+ ip_matched = match_ip(ip_all, ip_input)
ip_len = len(ip_matched)
- if ip_len == 1:
- ip = ip_matched[0]
- password = jm.decrypt(sth_select(username=username))
- port = sth_select(ip=ip)
- print "Connecting %s ..." % ip
- connect(ip, port, username, password)
- elif ip_len > 1:
- for ip in ip_matched:
- print ip
+ ip = ''
+ if ip_len >= 1:
+ if ip_len == 1:
+ ip = ip_matched[0]
+ else:
+ for one_ip in ip_matched:
+ if one_ip.endswith(ip_input):
+ ip = one_ip
+ break
+ else:
+ print one_ip
+ if ip:
+ password = jm.decrypt(sth_select(username=username))
+ port = sth_select(ip=ip_input)
+ print "Connecting %s ..." % ip
+ connect(ip, port, username, password)
else:
print '\033[31mNo permision .\033[0m'
diff --git a/webroot/AutoSa/AutoSa/views.py b/webroot/AutoSa/AutoSa/views.py
index cacc3952a..03face8a0 100644
--- a/webroot/AutoSa/AutoSa/views.py
+++ b/webroot/AutoSa/AutoSa/views.py
@@ -18,6 +18,7 @@ import crypt
import hashlib
from UserManage.forms import UserAddForm, GroupAddForm
import paramiko
+from django.core.servers.basehttp import FileWrapper
base_dir = "/opt/jumpserver/"
@@ -940,11 +941,9 @@ def downFile(request):
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get(path, download_file)
if os.path.isfile(download_file):
- f = open(download_file)
- data = f.read()
- f.close()
+ wrapper = FileWrapper(open(download_file))
- response = HttpResponse(data, mimetype='application/octet-stream')
+ response = HttpResponse(wrapper, mimetype='application/octet-stream')
response['Content-Disposition'] = 'attachment; filename=%s' % os.path.basename(path)
return response
diff --git a/webroot/AutoSa/templates/info.html b/webroot/AutoSa/templates/info.html
index ec1393336..8d94df003 100644
--- a/webroot/AutoSa/templates/info.html
+++ b/webroot/AutoSa/templates/info.html
@@ -38,7 +38,7 @@
{% if msg %}
-成功:{{ msg }}
+成功:{{ msg }}
{% endif %}
{% if error %}
diff --git a/webroot/AutoSa/templates/showUser.html b/webroot/AutoSa/templates/showUser.html
index 6e14b9d42..b27df1c75 100644
--- a/webroot/AutoSa/templates/showUser.html
+++ b/webroot/AutoSa/templates/showUser.html
@@ -17,8 +17,8 @@
is_admin |
is_superuser |
Email |
- Key |
- 修改 |
+ 密钥 |
+ 用户信息 |
sudo |
sudo |