mirror of https://github.com/jumpserver/jumpserver
Merge branch 'exec_cmd' into dev
commit
d7cb549eac
13
connect.py
13
connect.py
|
@ -21,7 +21,7 @@ if django.get_version() != '1.6':
|
||||||
django.setup()
|
django.setup()
|
||||||
from django.contrib.sessions.models import Session
|
from django.contrib.sessions.models import Session
|
||||||
from jumpserver.api import ServerError, User, Asset, PermRole, AssetGroup, get_object, mkdir, get_asset_info, get_role
|
from jumpserver.api import ServerError, User, Asset, PermRole, AssetGroup, get_object, mkdir, get_asset_info, get_role
|
||||||
from jumpserver.api import logger, Log, TtyLog, get_role_key
|
from jumpserver.api import logger, Log, TtyLog, get_role_key, CRYPTOR
|
||||||
from jperm.perm_api import gen_resource, get_group_asset_perm, get_group_user_perm, user_have_perm
|
from jperm.perm_api import gen_resource, get_group_asset_perm, get_group_user_perm, user_have_perm
|
||||||
from jumpserver.settings import LOG_DIR
|
from jumpserver.settings import LOG_DIR
|
||||||
from jperm.ansible_api import Command
|
from jperm.ansible_api import Command
|
||||||
|
@ -211,9 +211,16 @@ class Tty(object):
|
||||||
获取需要登陆的主机的信息和映射用户的账号密码
|
获取需要登陆的主机的信息和映射用户的账号密码
|
||||||
"""
|
"""
|
||||||
asset_info = get_asset_info(self.asset)
|
asset_info = get_asset_info(self.asset)
|
||||||
|
role_pass = CRYPTOR.decrypt(self.role.password)
|
||||||
|
role_key = os.path.join(self.role.key_path, 'id_rsa')
|
||||||
self.connect_info = {'user': self.user, 'asset': self.asset, 'ip': asset_info.get('ip'),
|
self.connect_info = {'user': self.user, 'asset': self.asset, 'ip': asset_info.get('ip'),
|
||||||
'port': int(asset_info.get('port')), 'role_name': self.role.name,
|
'port': int(asset_info.get('port')), 'role_name': self.role.name,
|
||||||
'role_pass': self.role.password, 'role_key': self.role.key_path}
|
'role_pass': role_pass, 'role_key': role_key}
|
||||||
|
logger.debug("Connect: Host: %s Port: %s User: %s Pass: %s Key: %s" % (asset_info.get('ip'),
|
||||||
|
asset_info.get('port'),
|
||||||
|
self.role.name,
|
||||||
|
role_pass,
|
||||||
|
role_key))
|
||||||
return self.connect_info
|
return self.connect_info
|
||||||
|
|
||||||
def get_connection(self):
|
def get_connection(self):
|
||||||
|
@ -237,7 +244,7 @@ class Tty(object):
|
||||||
look_for_keys=False)
|
look_for_keys=False)
|
||||||
self.ssh = ssh
|
self.ssh = ssh
|
||||||
return ssh
|
return ssh
|
||||||
except paramiko.ssh_exception.AuthenticationException, paramiko.ssh_exception.SSHException:
|
except (paramiko.ssh_exception.AuthenticationException, paramiko.ssh_exception.SSHException):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
ssh.connect(connect_info.get('ip'),
|
ssh.connect(connect_info.get('ip'),
|
||||||
|
|
Loading…
Reference in New Issue