Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

410
Vistas
Conéctese al servidor MSSQL remoto con PHP a través del túnel SSH

El servidor MS SQL con firewall desea suministrar datos al servidor Ubuntu en Internet.

Así que establecí un túnel SSH desde el servidor MS SQL al servidor Ubuntu, pidiéndole a Ubuntu que envíe su tráfico del port 1433 al port 1433 1433 de MS SQL.

De acuerdo con esta respuesta de desbordamiento de pila, creo que debería estar haciendo esto en el servidor MS SQL:

 ssh -R 1433:localhost:1433 ubuntu.example.com

Es una máquina con Windows, así que hice esto en PuTTY: ingrese la descripción de la imagen aquí

En la red local, probé usando PHP para conectarme al servidor SQL y funciona.

 $server = '192.168.0.12'; $user = 'buttle'; $pass = '1234'; mssql_connect($server,$user,$pass);

Ahora quiero intentar conectar las mismas dos máquinas usando un túnel SSH en lugar de una conexión "directa". Así que cambio $ servidor a esto:

 $server = 'localhost,1433';

Y luego conecto un túnel SSH desde la máquina SQL Server a la máquina Ubuntu con PuTTy. Y quizás aquí es donde me estoy equivocando, porque no sé lo que estoy haciendo.

Configuración de túneles PuTTY

Recibo este error de PHP en la máquina Ubuntu:

 Warning: mssql_connect(): Unable to connect to server: localhost,1433

EDITAR:

También probé esto:

ingrese la descripción de la imagen aquí

Y esto:

[![IPv4 remoto con dirección IP especificada en el servidor MS SQL][5]][5]

POR FIN, lo he solucionado. Mira mi respuesta.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Todos los tutoriales en línea para usar las funciones mssql de PHP asumen que está ejecutando PHP en un entorno Windows. Aparentemente, en Windows, IP y número de puerto están separados por una coma, pero en Linux por dos puntos.

 // Linux running PHP $server = 'localhost:1433'; // Windows running PHP $server = 'localhost,1433';

Como de costumbre, horas de problemas se reducen a un solo byte.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda