def ssh_connect(self): ssh = paramiko.SSHClient() ssh._system_host_keys = self.host_keys_settings['system_host_keys'] ssh._host_keys = self.host_keys_settings['host_keys'] ssh._host_keys_filename = self.host_keys_settings['host_keys_filename'] ssh.set_missing_host_key_policy(self.policy) args = self.get_args() dst_addr = (args[0], args[1]) logging.info('Connecting to {}:{}'.format(*dst_addr)) try: ssh.connect(*args, timeout=6) except socket.error: raise ValueError('Unable to connect to {}:{}'.format(*dst_addr)) except paramiko.BadAuthenticationType: raise ValueError('SSH authentication failed.') except paramiko.BadHostKeyException: raise ValueError('Bad host key.') chan = ssh.invoke_shell(term='xterm') chan.setblocking(0) worker = Worker(self.loop, ssh, chan, dst_addr) worker.src_addr = self.get_client_addr() worker.encoding = self.get_default_encoding(ssh) return worker
def ssh_connect(self): ssh = self.ssh_client try: args = self.get_args() except InvalidValueError as exc: raise tornado.web.HTTPError(400, str(exc)) dst_addr = (args[0], args[1]) logging.info('Connecting to {}:{}'.format(*dst_addr)) try: ssh.connect(*args, timeout=6) except socket.error: raise ValueError('Unable to connect to {}:{}'.format(*dst_addr)) except paramiko.BadAuthenticationType: raise ValueError('Bad authentication type.') except paramiko.AuthenticationException: raise ValueError('Authentication failed.') except paramiko.BadHostKeyException: raise ValueError('Bad host key.') chan = ssh.invoke_shell(term='xterm') chan.setblocking(0) worker = Worker(self.loop, ssh, chan, dst_addr) worker.src_addr = self.get_client_addr() worker.encoding = self.get_default_encoding(ssh) return worker
def ssh_connect(self, args): ssh = self.ssh_client dst_addr = args[:2] logging.info('Connecting to {}:{}'.format(*dst_addr)) try: ssh.connect(*args, timeout=6) except socket.error: raise ValueError('Unable to connect to {}:{}'.format(*dst_addr)) except paramiko.BadAuthenticationType: raise ValueError('Bad authentication type.') except paramiko.AuthenticationException: raise ValueError('Authentication failed.') except paramiko.BadHostKeyException: raise ValueError('Bad host key.') chan = ssh.invoke_shell(term='xterm') chan.setblocking(0) worker = Worker(self.loop, ssh, chan, dst_addr) worker.encoding = self.get_default_encoding(ssh) return worker