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"
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
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
Esempio n. 6
0
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)
Esempio n. 7
0
def get_exec_ssh(host):
    parent_ssh = get_primary_ssh()
    forward_tunnel(9500, host, 9000, parent_ssh.get_transport())
Esempio n. 8
0
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")
Esempio n. 9
0
    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...")