Thoir dha ssh2 an soc a dh'fhosgailte tro SOCKS
Dèan rèiteachadh air a' cheangal SOCKS an toiseach, is an uair sin thoir a shoc-uidheam-coinneimh dha ssh2 mus fosgail thu am fo-shiostam SFTP.
Gabhaidh ssh2 ri sruth a tha ceangailte mar-thà tron roghainn sock aige. Leig le socksv5 an t-slighe dhan fhrithealaiche SSH a stèidheachadh, is an uair sin thoir an t-sruth sin dha SSH:
const socks = require('socksv5');
const { Client } = require('ssh2');
const connection = socks.connect({
host: sshConfig.host,
port: sshConfig.port || 22,
proxyHost: 'proxy.example',
proxyPort: 1080,
localDNS: false,
auths: [socks.auth.None()],
}, socket => {
const ssh = new Client();
ssh.on('error', error => console.error(error.message));
ssh.on('ready', () => {
ssh.sftp((error, sftp) => {
if (error) {
console.error(error.message);
ssh.end();
return;
}
sftp.readdir('.', (error, entries) => {
if (error) console.error(error.message);
else console.log(entries);
ssh.end();
});
});
});
ssh.connect({ ...sshConfig, sock: socket });
});
connection.on('error', error => console.error(error.message));
Is e sshConfig rèiteachadh SSH a tha anns an aplacaid mar-thà, a' gabhail a-steach a cunntas, a h-iuchair agus a poileasaidh hostVerifier. Comharraichidh ostair is port SOCKS an eadar-mheadhanair; comharraichidh sshConfig.host agus port an t-seirbheis SSH mu dheireadh.
Cleachdaidh an eisimpleir ceann-uidhe SOCKS gun dearbhadh. Airson frithealaiche SSH a ghabhas ruigsinn bhon eadar-lìon phoblach, 's urrainn do liosta proxy SOCKS5 tagraichean a sholarachadh; feumaidh gach fear dhiubh fhathast an ceann-uidhe agus am port SSH a cheadachadh. Airson a mhodh ainm-cleachdaiche/facal-faire, cleachd socks.auth.UserPassword(proxyUser, proxyPassword) ann an auths. Cha ghabh na teisteanasan sin àite a' chunntais SSH.
Cuiridh localDNS false ainm ostair a' chinn-uidhe dhan fhrithealaiche SOCKS, a' cleachdadh fuasgladh cinn-uidhe air taobh a' phroxy. Às aonais an roghainn shoilleir sin, feuchaidh bunaiteach clàraichte socksv5 ri fuasgladh ionadail.
Ruithidh an t-ais-ghairm SOCKS às dèidh an rèiteachaidh. Fuirich airson tachartas ready ssh2 mus iarrar SFTP. 'S e ceuman soirbheachail air leth a tha anns an fheadhainn sin; chan eil ceangal TCP dhan phroxy no freagairt SOCKS a' dearbhadh gun do shoirbhich dearbhadh SSH no am fo-shiostam SFTP.