def doSsh(password): # with open(os.devnull, "w") as fnull: # result = subprocess.call("./start.sh", stdout = fnull, stderr = fnull) import paramiko, sys from forward import forward_tunnel remote_host = "localhost" remote_port = 5432 local_port = 63333 ssh_host = "comi.laradiointegral.cl" ssh_port = 22 user = "******" transport = paramiko.Transport((ssh_host, ssh_port)) # Command for paramiko-1.7.7.1 transport.connect(hostkey = None, username = user, password = password, pkey = None) try: forward_tunnel(local_port, remote_host, remote_port, transport) except KeyboardInterrupt: print 'Port forwarding stopped.' sys.exit(0) print "Configurada coneccion"
def _paramiko_tunnel(lport, rport, server, remoteip, keyfile=None, password=None): """Function for actually starting a paramiko tunnel, to be passed to multiprocessing.Process(target=this), and not called directly. """ username, server, port = _split_server(server) client = paramiko.SSHClient() client.load_system_host_keys() client.set_missing_host_key_policy(paramiko.WarningPolicy()) try: client.connect(server, port, username=username, key_filename=keyfile, look_for_keys=True, password=password) # except paramiko.AuthenticationException: # if password is None: # password = getpass("%s@%s's password: "******"Port forwarding stopped uncleanly: %s"%e) sys.exit(255)
def port_forwarding(local_port,remote_host,remote_port,ssh_host,ssh_port,ssh_user,private_key_path): ssh_key = paramiko.RSAKey.from_private_key_file(private_key_path) transport = paramiko.Transport((ssh_host, ssh_port)) transport.connect(username=ssh_user, pkey=ssh_key) try: forward_tunnel(local_port, remote_host, remote_port, transport) except KeyboardInterrupt: print('Port forwarding stopped.') sys.exit(0)
def open_port(self, id, port): try: tunnel = self.find_tunnel(id) localport = str(self.find_free_port()).strip() if tunnel != None: ip = str(self.store.get_attr( "base", id, "base.net.ip")).strip() tip = str(self.store.get_attr( "base", tunnel, "base.tunnel.ip")).strip() tport = str(self.store.get_attr( "base", tunnel, "base.tunnel.port")).strip() tuser = str(self.store.get_attr( "base", tunnel, "base.tunnel.user")).strip() tpass = str(self.store.get_attr( "base", tunnel, "base.tunnel.password")).strip() try: self.ports[localport + "TR"] = paramiko.Transport((tip, int(tport))) self.ports[localport + "TR"].connect(username=tuser, password=tpass) self.ports[localport] = forward_tunnel( int(localport), ip, int(port), self.ports[localport+"TR"]) self.ports[localport+"TH"] = Thread( target=self.ports[localport].serve_forever) self.ports[localport+"TH"].daemon = True self.ports[localport+"TH"].start() self.debug("System::Forwarding", "Port "+ip+":"+port+" Mapped to localhost:"+localport) return localport except: self.debug("System::Forwarding", "Unable to map "+ip+":"+port+" to localhost:"+localport) return None else: self.debug("System::Forwarding", "Not required") return None except: self.debug("System::Forwarding", "Not required") return None
import paramiko, sys from forward import forward_tunnel remote_host = "eblackboard-193040.mysql.binero.se" remote_port = 3306 local_port = 3306 ssh_host = "ssh.binero.se" ssh_port = 22 user = "******" password = "******" transport = paramiko.Transport((ssh_host, ssh_port)) # Command for paramiko-1.7.7.1 transport.connect(hostkey = None, username = user, password = password, pkey = None) try: print("trying to create tunnel") forward_tunnel(local_port, remote_host, remote_port, transport) print("tunnel created") except KeyboardInterrupt: print 'Port forwarding stopped.' sys.exit(0)
def get_exec_ssh(host): parent_ssh = get_primary_ssh() forward_tunnel(9500, host, 9000, parent_ssh.get_transport())
def start_forward(state, ssh): log.debug("thread start") forward.forward_tunnel(LOCAL_PORT, THERMOSTAT_IP, 80, ssh.get_transport(), state) log.debug("thread finish")
local_port = args.lport.split(':')[1] except: local_port = '22' try: ssh_host = args.sshhost.split(':')[0] except: ssh_host = None try: ssh_port = args.sshhost.split(':')[1] except: ssh_port = '22' print("RHOST = '%s:%s', SSHHOST = '%s:%s', LPORT = '%s'" % (remote_host, remote_port, ssh_host, ssh_port, local_port)) if remote_host and ssh_host: transport = paramiko.Transport((ssh_host, int(ssh_port))) transport.connect(hostkey=None, username=USERNAME, password=PASSWORD, pkey=None) try: forward.forward_tunnel(local_port, remote_host, remote_port, transport) except KeyboardInterrupt: print 'Port forwarding stopped.' sys.exit(0) else: print("No port forwarding...")