本文整理汇总了Python中ralph.util.network.connect_ssh函数的典型用法代码示例。如果您正苦于以下问题:Python connect_ssh函数的具体用法?Python connect_ssh怎么用?Python connect_ssh使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了connect_ssh函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _connect_ssh
def _connect_ssh(ip):
return network.connect_ssh(
ip,
settings.SSH_IBM_USER,
settings.SSH_IBM_PASSWORD,
client=IBMSSHClient,
)
示例2: ssh_linux
def ssh_linux(**kwargs):
if 'nx-os' in kwargs.get('snmp_name', '').lower():
return False, 'incompatible Nexus found.', kwargs
kwargs['guessmodel'] = gvendor, gmodel = guessmodel.guessmodel(**kwargs)
if gmodel not in {'Linux', 'ESX', 'XEN'}:
return False, 'no match: %s %s' % (gvendor, gmodel), kwargs
ip = str(kwargs['ip'])
if not network.check_tcp_port(ip, 22):
return False, 'closed.', kwargs
ssh = None
auths = [
(settings.SSH_USER or 'root', settings.SSH_PASSWORD),
(settings.XEN_USER, settings.XEN_PASSWORD),
]
try:
for user, password in auths:
if user is None or password is None:
continue
try:
ssh = network.connect_ssh(ip, user, password)
except network.AuthError:
pass
else:
break
else:
return False, 'Authorization failed', kwargs
name = run_ssh_linux(ssh, ip)
except (network.Error, paramiko.SSHException) as e:
return False, str(e), kwargs
return True, name, kwargs
示例3: _connect_ssh
def _connect_ssh(ip):
return network.connect_ssh(
ip,
settings.SCAN_PLUGINS.get(__name__, {})['ssh_ibm_user'],
settings.SCAN_PLUGINS.get(__name__, {})['ssh_ibm_password'],
client=IBMSSHClient,
)
示例4: ssh_linux
def ssh_linux(**kwargs):
if "nx-os" in kwargs.get("snmp_name", "").lower():
return False, "incompatible Nexus found.", kwargs
kwargs["guessmodel"] = gvendor, gmodel = guessmodel.guessmodel(**kwargs)
if gmodel not in {"Linux", "ESX", "XEN"}:
return False, "no match: %s %s" % (gvendor, gmodel), kwargs
ip = str(kwargs["ip"])
if not network.check_tcp_port(ip, 22):
return False, "closed.", kwargs
ssh = None
auths = [(settings.SSH_USER or "root", settings.SSH_PASSWORD), (settings.XEN_USER, settings.XEN_PASSWORD)]
try:
for user, password in auths:
if user is None or password is None:
continue
try:
ssh = network.connect_ssh(ip, user, password)
except network.AuthError:
pass
else:
break
else:
return False, "Authorization failed", kwargs
name = run_ssh_linux(ssh, ip)
except (network.Error, paramiko.SSHException) as e:
return False, str(e), kwargs
return True, name, kwargs
示例5: _connect_ssh
def _connect_ssh(ip):
if not settings.SSH_PASSWORD:
raise Error('no password defined')
return network.connect_ssh(
ip,
settings.SSH_USER or 'root',
settings.SSH_PASSWORD,
)
示例6: _connect_ssh
def _connect_ssh(ip_address, user, password):
if not network.check_tcp_port(ip_address, 22):
raise ConnectionError('Port 22 closed on a HP MSA Storage.')
return network.connect_ssh(
ip_address,
user,
password,
client=HPSSHClient,
)
示例7: _connect_ssh
def _connect_ssh(ip):
SETTINGS = settings.SCAN_PLUGINS.get(__name__, {})
SSH_USER, SSH_PASSWORD = SETTINGS['ssh_user'], SETTINGS['ssh_password']
if not SSH_PASSWORD:
raise NotConfiguredError(
"ssh not configured in plugin {}".format(__name__),
)
return network.connect_ssh(
ip,
SSH_USER or 'root',
SSH_PASSWORD,
)
示例8: scan_address
def scan_address(ip_address, **kwargs):
messages = []
result = get_base_result_template('ssh_linux', messages)
snmp_name = kwargs.get('snmp_name', '') or ''
if not snmp_name:
raise NoMatchError("No snmp found")
snmp_name = snmp_name.lower()
if 'nx-os' in snmp_name:
messages.append('Incompatible Nexus found.')
result['status'] = 'error'
return result
if all((
'linux' not in snmp_name,
'xen' not in snmp_name,
not snmp_name.startswith('vmware esx'),
)):
messages.append('No match.')
result['status'] = 'error'
return result
ssh = None
auths = SETTINGS.get('auths', [])
for user, password in auths:
if user is None or password is None:
continue
try:
ssh = network.connect_ssh(ip_address, user, password)
except network.AuthError:
continue
else:
break
if not ssh:
messages.append('Authorization failed')
result['status'] = 'error'
return result
try:
device_info = _ssh_linux(ssh, ip_address)
except (network.Error, paramiko.SSHException) as e:
messages.append(unicode(e))
result['status'] = 'error'
else:
result.update({
'status': 'success',
'device': device_info,
})
return result
示例9: _connect_ssh
def _connect_ssh(ip):
return network.connect_ssh(
ip, SSH_USER, SSH_PASSWORD, client=CiscoSSHClient,
)
示例10: _connect_ssh
def _connect_ssh(ip):
return network.connect_ssh(ip, settings.SSH_SSG_USER,
settings.SSH_SSG_PASSWORD, client=SSGSSHClient)
示例11: _connect_ssh
def _connect_ssh(ip, username="root", password=""):
return network.connect_ssh(ip, "root", settings.SSH_PASSWORD)
示例12: _connect_ssh
def _connect_ssh(ip_address, user, password):
if not check_tcp_port(ip_address, 22):
raise ConnectionError('Port 22 closed.')
return connect_ssh(ip_address, user, password, client=SSGSSHClient)
示例13: _connect_ssh
def _connect_ssh(ip_address, user, password):
if not check_tcp_port(ip_address, 22):
raise ConnectionError('Port 22 closed on a XEN server.')
return connect_ssh(ip_address, user, password)
示例14: _connect_ssh
def _connect_ssh(ip):
return network.connect_ssh(ip, XEN_USER, XEN_PASSWORD)
示例15: _connect_ssh
def _connect_ssh(ip, username='root', password=''):
return network.connect_ssh(ip, SSH_USER, SSH_PASS, client=CiscoSSHClient)