Instalé ssh2 para poder conectarme desde mi servidor Node.js a MongoDB. Primero, cuando ejecuto el código provisto por la documentación, tomo este Módulo no encontrado: Error: No se pueden resolver las 'características de la CPU' en 'C:\Users\chris\Desktop\abot\node_modules\ssh2\lib\protocol' y este Módulo no encontrado: Error: No se puede resolver './crypto/build/Release/sshcrypto.node' en 'C:\Users\chris\Desktop\abot\node_modules\ssh2\lib\protocol' Con un poco de investigación I comprenda que los errores de este módulo no encontrado son para módulos opcionales y no tienen ningún impacto. En segundo lugar, estoy tratando de conectarme con este código proporcionado por la documentación:
const { Client } = require('ssh2'); const conn = new Client(); conn.on('ready', () => { console.log('Client :: ready'); conn.forwardOut('my local ip', 8000, '127.0.0.1', 27017, (err, stream) => { if (err) throw err; stream.on('close', () => { console.log('TCP :: CLOSED'); conn.end(); }).on('data', (data) => { console.log('TCP :: DATA: ' + data); }).end([ 'HEAD / HTTP/1.1', 'User-Agent: curl/7.27.0', 'Host: 127.0.0.1', 'Accept: */*', 'Connection: close', '', '' ].join('\r\n')); }); }).connect({ host: 'ip of the mongo server', port: ssh port, username: 'my user name', password: 'my password' });Permítanme señalar que el servidor está configurado para conectarse sin proporcionar la clave pública. Cuando estoy ejecutando el código, tomo estos mensajes: Cliente :: listo TCP :: CERRADO
Nota número 2. Puedo conectarme con el túnel ssh a través de python, pero ahora también necesito conectarme a través del nodo pero sin resultados.