def get_ssh_conn(ipaddr, username, password=None, ssh_key=None):
""" Connect to remote machine through SSH Port 22 """
try:
ssh = SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(AutoAddPolicy())
if ssh_key:
ssh.connect(hostname=ipaddr,
username=username,
key_filename=ssh_key,
timeout=5)
if password:
ssh.connect(hostname=ipaddr,
username=username,
password=password,
timeout=5)
ssh.close()
LOG.info("Successfully established SSH connection to %s", ipaddr)
except timeout as ex:
raise SSHError(ex.message)
except SSHException as ex:
raise SSHError(ex.message)
except error as ex:
raise SSHError(ex.strerror)
评论列表
文章目录